menu
版本
2017.1.9.6501
2024.1.6.8842
2023.1.14.8770
2025.1.0.8897
2022.1.19.8584
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.6.8842
2023.1.14.8770
2025.1.0.8897
2022.1.19.8584
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
info
|
Note: 在初始化声音引擎本身之前,必须首先初始化内存管理器和流管理器。 请参阅 初始化声音引擎的不同模块 一节了解有关全局初始化的更多信息。 |
初始化声音引擎本身通过调用 AK::SoundEngine::Init 函数来执行。为方便您查看,此处复制了 初始化声音引擎 中所示的默认初始化。
#include <AK/SoundEngine/Common/AkSoundEngine.h> // 声音引擎 (...) bool InitSoundEngine() { (...) // // 对声音引擎初始化 // 使用默认初始化参数 // if ( AK::SoundEngine::Init( NULL, NULL ) != AK_Success ) { assert( !"Could not initialize the Sound Engine." ); return false; } return true; }
AK::SoundEngine::Init 函数使用 2 个参数。
第一个参数:AkInitSettings * in_pSettings
第二个参数:AkPlatformInitSettings * in_pPlatformSettings
warning
|
Caution: 这两个参数都被视为可选,但我们强烈建议您根据游戏的需要自定义它们的值,因为默认值通常有较高的内存占用。根据游戏类型,应仔细调节内存设置。 请参阅 确定内存池的合适大小 一节了解更多信息。 |
AkInitSettings 和 AkPlatformInitSettings 结构必须使用 AK::SoundEngine::GetDefaultInitSettings 和 AK::SoundEngine::GetDefaultPlatformInitSettings 函数初始化。
使用这两个函数对结构进行初始化将在结构中填充默认参数。这一功能非常有用,原因如下:
下面的例程演示如何对声音引擎的两个主要池进行初始化。
#include <AK/SoundEngine/Common/AkSoundEngine.h> // 声音引擎 (...) bool InitSoundEngine() { (...) // // 创建声音引擎 // 使用修改后的初始化参数 // 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; }
有关选择内存池大小的更多信息,请参阅 优化内存池 。