As explained in File Location Resolving, language-specific files (SoundBanks and streamed audio files) are managed by the Low-Level I/O system. The default Low-Level I/O system, CAkDefaultLowLevelIO, supports this if you set the language-specific subdirectory name with a call to AK::StreamMgr::SetCurrentLanguage().
The following code changes the current language by:
#define BANKNAME_HUMAN L"Human.bnk" (...) // Unload language-specific banks that are currently loaded AK::SoundEngine::UnloadBank( BANKNAME_HUMAN, NULL ); // Change the language-specific path AK::StreamMgr::SetCurrentLanguage( AKTEXT("French(Canada)/") ); // Reload the banks we've just unloaded, this time in the new language AkBankID bankID; AK::SoundEngine::LoadBank( BANKNAME_HUMAN, AK_DEFAULT_POOL_ID, bankID );
You can experiment with this with the "Current language" dropdown list in the sample program.
Refer to Default Low-Level I/O Implementation for more information on the default Low-Level I/O module, and File Location Resolving for more details on file localization.
Refer to Identifying Banks for more information on SoundBank identification.
|
Note: This sample code comes from the Sound Engine Integration Sample Project available in the Samples section. Refer to Integration Demo Sample for more information. |