Version

    Other Documentation

menu_open
Wwise SDK 2019.1.11
Quick Start Sample Integration - Banks

Bank Integration Example

As explained in Concept: Banks, there are two types of banks: Initialization banks, and SoundBanks. There is one initialization bank for each Wwise project, and it must be loaded before any other bank. There may be any number of SoundBanks in the project, and some of them might exist for multiple languages.

The following code begins by setting the base path and language-specific subdirectory in the Low-Level I/O module. If you are overriding this module or the whole Streaming Manager, this code will need to be adapted as needed. Refer to Streaming / Stream Manager for more information.

The code then loads the initialization bank, which by default is named "Init.bnk". If you decide to rename the file, the code must be updated accordingly.

Finally, this code loads the "Car.bnk", "Human.bnk" and "MarkerTest.bnk" soundbanks. In our sample project, these contain events such as Play_Engine, Stop_Engine and Play_Hello.

// Bank file names
#define BANKNAME_INIT L"Init.bnk"
#define BANKNAME_CAR L"Car.bnk"
#define BANKNAME_HUMAN L"Human.bnk"
#define BANKNAME_MARKERTEST L"MarkerTest.bnk"
(...)
//
// Setup banks path
//
g_lowLevelIO.SetBasePath( AKTEXT("../../../samples/IntegrationDemo/WwiseProject/GeneratedSoundBanks/Windows/") );
AK::StreamMgr::SetCurrentLanguage( AKTEXT("English(US)") );
//
// Load banks synchronously (from file name).
//
AkBankID bankID; // Not used. These banks can be unloaded with their file name.
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 );

Refer to Integration Details - Banks for more information regarding Banks in the sound engine, and File Location Resolving for information on localization.

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.
AKSOUNDENGINE_API AKRESULT SetCurrentLanguage(const AkOSChar *in_pszLanguageName)
AKSOUNDENGINE_API AKRESULT LoadBank(const char *in_pszString, AkMemPoolId in_memPoolId, AkBankID &out_bankID)

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise