版本
menu_open
Wwise SDK 2023.1.2
高级声音引擎集成

声音引擎初始化

备注: 在初始化声音引擎本身之前,必须首先初始化内存管理器和流管理器。 请参阅 初始化声音引擎模块 一节了解有关全局初始化的更多信息。

初始化声音引擎本身通过调用 AK::SoundEngine::Init 函数来执行。为方便您查看,此处复制了 初始化声音引擎 中所示的默认初始化。

#include <AK/SoundEngine/Common/AkSoundEngine.h> // 声音引擎
(...)
bool InitSoundEngine()
{
(...)
//
// 对声音引擎初始化
// 使用默认初始化参数
//
{
assert( !"Could not initialize the Sound Engine." );
return false;
}
return true;
}

AK::SoundEngine::Init 函数使用 2 个参数。

第一个参数:AkInitSettings * in_pSettings

  • 此结构包含用于对声音引擎进行初始化的、与平台无关的信息。

第二个参数:AkPlatformInitSettings * in_pPlatformSettings

  • 此结构包含用于对声音引擎初始化的各平台专用信息。
注意: 两个参数均可选用。不过,建议最好根据游戏需要自定义这些值,因为有些默认值可能会导致内存用量过高。有关详细信息,请参阅 固定大小分配 章节。

自定义创建参数

AkInitSettingsAkPlatformInitSettings 结构必须使用 AK::SoundEngine::GetDefaultInitSettingsAK::SoundEngine::GetDefaultPlatformInitSettings 函数初始化。

使用这两个函数对结构进行初始化将在结构中填充默认参数。这一功能非常有用,原因如下:

  • 一旦初始化后,就可以轻松地更改参数来满足游戏的需要。
  • 使用默认参数可确保代码向下兼容,因为 SDK 的未来版本可能会在结构中添加更多的初始化参数。

以下示例代码展示了如何在自定义单个参数值的情况下使用默认的参数来初始化声音引擎。

#include <AK/SoundEngine/Common/AkSoundEngine.h> // 声音引擎
(...)
bool InitSoundEngine()
{
(...)
//
// Create the Sound Engine
// Using modified initialization parameters
//
AkInitSettings initSettings;
AkPlatformInitSettings platformInitSettings;
initSettings.uMaxNumPaths = 16;
if ( AK::SoundEngine::Init( &initSettings, &platformInitSettings ) != AK_Success )
{
return false;
}
return true;
}

有关如何调节内存大小的详细信息,请参阅 固定大小分配 章节。

AKSOUNDENGINE_API AKRESULT Init(AkInitSettings *in_pSettings, AkPlatformInitSettings *in_pPlatformSettings)
AkUInt32 uMaxNumPaths
Maximum number of paths for positioning
#define NULL
Definition: AkTypes.h:46
@ AK_Success
The operation was successful.
Definition: AkTypes.h:215
AKSOUNDENGINE_API void GetDefaultInitSettings(AkInitSettings &out_settings)
AKSOUNDENGINE_API void GetDefaultPlatformInitSettings(AkPlatformInitSettings &out_platformSettings)

此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅