Wwise SDK 2018.1.11
终止声音引擎的不同模块

简介

当游戏准备退出且不再需要音频时,就可以终止先前已经初始化的所有模块。我们的示例程序使用以下函数,来将所有终止代码重新组合:

void TermSoundEngine()
{
... 以下是模块终止代码 ...
}

终止各模块时,将按初始化的相反顺序进行。

终止通信模块

如果通信模块已经初始化,就要首先被终止:

void TermSoundEngine()
{
#ifndef AK_OPTIMIZED
//
// 终止通信服务
//
#endif // AK_OPTIMIZED
(...)
}
Caution: 在其他模块 之前先终止通信模块非常重要。

终止音乐引擎

如果音乐引擎已被初始化,则应先于声音引擎被终止。

void TermSoundEngine()
{
(...)
//
// 终止音乐引擎
//
(...)
}

终止声音引擎

然后终止声音引擎本身:

void TermSoundEngine()
{
(...)
//
// 终止声音引擎
//
(...)
}

终止 Streaming Manager (流播放管理器)

接下来终止 Streaming Manager 和 Low-Level I/O:

void TermSoundEngine()
{
(...)
// 终止流播放设备和流播放管理器
// CAkFilePackageLowLevelIOBlocking::Term() 销毁 Stream Manager 中
// 与其相关的流播放设备,并注销自己的 File Location Resolver 身份。
g_lowLevelIO.Term();
(...)
}

终止 Memory Manager(内存管理器)

现在 Memory Manager 的所有使用者都已终止,到了终止 Memory Manager 本身的时候了:

void TermSoundEngine()
{
(...)
// 终止 Memory Manager
}

与声音引擎相关的一切模块都已终止,已经可以退出程序了。请继续参阅 将 Wwise 元素集成到游戏中