如概念: SoundBank 中所述, SoundBank 分为两种类型:初始化包 和 SoundBank。 每个 Wwise 工程都有一个初始化包,它必须在加载其它 SoundBank 之前加载。工程中会有任意数量的 SoundBank,其中部分可能用于多种语言。
以下代码首先在 Low-Level I/O(底层 I/O)模块中设置基本路径和特定语言的子目录。如果您不沿用此模块或干脆不沿用整个 Streaming Manager,则需要根据情况调整此代码。请参阅 流播放/流管理器 了解更多信息。
代码于是加载初始化包,在默认情况下,初始化包名为“Init.bnk”。如果您决定重命名此文件,则必须相应地更新代码。
最后,此代码加载“Car.bnk”、“Human.bnk”和“MarkerTest.bnk” SoundBank。在我们的工程示例中,它们包含Play_Engine
、Stop_Engine
和 Play_Hello
等事件。
// SoundBank 文件名称 #define BANKNAME_INIT L"Init.bnk" #define BANKNAME_CAR L"Car.bnk" #define BANKNAME_HUMAN L"Human.bnk" #define BANKNAME_MARKERTEST L"MarkerTest.bnk" (...) // // 设置 SoundBank 路径 // g_lowLevelIO.SetBasePath( AKTEXT("../../../samples/IntegrationDemo/WwiseProject/GeneratedSoundBanks/Windows/") ); AK::StreamMgr::SetCurrentLanguage( AKTEXT("English(US)") ); // // (从文件名)同步加载 SoundBank 。 // AkBankID bankID; // 未使用。这些 SoundBank 可以通过它们的文件名来卸载。 AKRESULT eResult = AK::SoundEngine::LoadBank( BANKNAME_INIT, AK_DEFAULT_POOL_ID, bankID ); assert( eResult == AK_Success ); eResult = AK::SoundEngine::LoadBank( BANKNAME_CAR, AK_DEFAULT_POOL_ID, bankID ); assert( eResult == AK_Success ); eResult = AK::SoundEngine::LoadBank( BANKNAME_HUMAN, AK_DEFAULT_POOL_ID, bankID ); assert( eResult == AK_Success ); eResult = AK::SoundEngine::LoadBank( BANKNAME_MARKERTEST, AK_DEFAULT_POOL_ID, bankID ); assert( eResult == AK_Success );
请参阅集成详情—— SoundBank 了解声音引擎中有关 SoundBank 的更多信息,并参阅文件位置解析 了解有关本地化的信息。
|
Note: 此例程摘自 示例 一节中的“声音引擎集成工程示例”部分。请参阅 Integration Demo 示例 了解更多信息。 |