|
Note: サウンドエンジン自体を初期化する前に、メモリマネージャとストリーミングマネージャを初期化する必要があります。 グローバルな初期化の詳細については、 サウンドエンジン各種モジュールの初期化 をご覧ください。 |
サウンドエンジン自体の初期化は、 AK::SoundEngine::Init 関数の呼び出しにより実行されます。ご参考までに、サウンドエンジンの初期化 に示されているデフォルトの初期化を以下にコピーします。
#include <AK/SoundEngine/Common/AkSoundEngine.h> // Sound Engine (...) bool InitSoundEngine() { (...) // // Initialize the sound engine // Using default initialization parameters // if ( AK::SoundEngine::Init( NULL, NULL ) != AK_Success ) { assert( !"Could not initialize the Sound Engine." ); return false; } return true; }
AK::SoundEngine::Init 関数は、2つのパラメータを取ります。
1つ目のパラメータ : AkInitSettings * in_pSettings
2つ目のパラメータ : AkPlatformInitSettings * in_pPlatformSettings
|
Caution: いずれのパラメータも任意指定ですが、デフォルト値はしばしば高いメモリ使用量を要求するため、ゲームのニーズに合わせてこれらの値をカスタマイズすることを強くお勧めします。ゲームの種類によって、メモリ設定を慎重に調整する必要があります。 詳細は、メモリプールサイズの選択 をご覧ください。 |
AkInitSettings と AkPlatformInitSettings 構造体は、AKSoundEngine::GetDefaultInitSettings と AK::SoundEngine::GetDefaultPlatformInitSettings 関数を使用して初期化する必要があります。
これらの2つの関数を用いて構造体を初期化すると、デフォルトパラメータによって構造体が埋められます。これは次のような理由で有用です:
以下のサンプルコードは、サウンドエンジンの2つのメインプールを初期化する方法を示しています。
#include <AK/SoundEngine/Common/AkSoundEngine.h> // Sound Engine (...) bool InitSoundEngine() { (...) // // Create the Sound Engine // Using modified initialization parameters // AkInitSettings initSettings; AkPlatformInitSettings platformInitSettings; AK::SoundEngine::GetDefaultInitSettings( initSettings ); AK::SoundEngine::GetDefaultPlatformInitSettings( platformInitSettings ); initSettings.uDefaultPoolSize = 4 * 1024 * 1024; // 4 MB initSettings.uMaxNumPaths = 16; platformInitSettings.uLEngineDefaultPoolSize = 4 * 1024 * 1024; // 4 MB if ( AK::SoundEngine::Init( &initSettings, &platformInitSettings ) != AK_Success ) { return false; } return true; }
メモリプールサイズ選択についての詳細は、メモリプールの最適化 をご覧ください。