menu
版本
2024.1.4.8780
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
Wwise SDK 2024.1.4
|
插件媒体系统使插件(效果器、源插件、Sink 插件或混音器)可利用 Wwise 架构存储工程中的二进制数据文件。
以下是在插件中使用插件媒体相对于使用自定义数据的诸多优势:
您可以通过在后端获取 AK::Wwise::Plugin::RequestObjectMedia
来请求 Object Media 服务。 藉此,可提供成员 m_objectMedia
以访问相应的服务方法。若要接收有关对象媒体的通知(比如在用户执行更改后),请从 AK::Wwise::Plugin::Notifications::ObjectMedia
获取,并覆盖 AK::Wwise::Plugin::Notifications::ObjectMedia::NotifyPluginMediaChanged()
方法。
您可以通过调用 AK::Wwise::Plugin::ObjectMedia::SetMediaSource()
来导入媒体文件。 在导入媒体时,其将被复制到插件的 Originals 目录下,并完全由 Wwise 进行管理。 在索引 0 处添加插件媒体文件:
覆盖函数 NotifyPluginMediaChanged
以在插件数据发生更改时接收通知。只要对媒体源进行修改就会触发 NotifyPluginMediaChanged
函数。
请参阅 AK::Wwise::Plugin::ObjectMedia
的功能文档了解详情。
若插件定义文件使用 CanReferenceDataFile
,则须在运行时将导入的原始 WAV 媒体转码为适合实时组件的格式。
要想实现媒体转码,需从 AK::Wwise::Plugin::MediaConverter
继承并实现所需函数:
AK::Wwise::Plugin::MediaConverter::ConvertFile
AK::Wwise::Plugin::MediaConverter::GetCurrentConversionSettingsHash
以下是 AK::Wwise::Plugin::MediaConverter
函数的应用示例:
在插件定义文件(即插件 XML 文件)中,确保将 CanReferenceDataFile
元素设为 true
。
在插件的声音引擎部分中实现 AK::IAkEffectPlugin
时,会在 Init(...)
函数中接收 AK::IAkEffectPluginContext
指针。从 AK::IAkEffectPluginContext
中,您可以调用 AK::IAkPluginContextBase::GetPluginMedia
来获取经过转码的媒体,这些媒体打包存储于 Wwise 的 SoundBank 中。
info | 备注: 本例展示了如何在运行时使用 effect 插件媒体。不过,其也可用来阐释如何使用另一插件类型,如 source 插件。在这种情况下,要实现 AK::IAkSourcePlugin 并接收 AK::IAkSourcePluginContext 指针。 |
在 Wwise 中所有总线效果器存储在 Init.bnk 中。为了尽量减小 Init.bnk 的大小,系统不会将插件媒体自动添加到 Init.bnk。您必须手动将 Effect ShareSet 或总线添加到单独的 SoundBank。