版本

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

简介

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

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

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

终止通信模块

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

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

终止 Spatial Audio

若已经初始化,则必须在声音引擎之前终止 Spatial Audio。

void TermSoundEngine()
{
(...)
//
// Terminate Spatial Audio
//
(...)
}

终止音乐引擎

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

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

终止声音引擎

然后终止声音引擎本身:

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

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

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

void TermSoundEngine()
{
(...)
// Terminate the streaming device and streaming manager
// CAkFilePackageLowLevelIODeferred::Term() destroys its associated streaming device
// that lives in the Stream Manager, and unregisters itself as the File Location Resolver.
g_lowLevelIO.Term();
(...)
}

终止 Memory Manager(内存管理器)

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

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

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

static IAkStreamMgr * Get()
Definition: IAkStreamMgr.h:698
AKSOUNDENGINE_API void Term()
AKSOUNDENGINE_API void Term()
virtual void Destroy()=0
AKSOUNDENGINE_API void Term()
AKSOUNDENGINE_API void Term()

此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅