Version

menu_open
Wwise SDK 2024.1.0
Terminate the Different Modules of the Sound Engine

Introduction

Once your game is ready to exit and does not require audio anymore, it's time to terminate all the modules that were initialized earlier. Our sample program uses the following function to group all of the termination code:

void TermSoundEngine()
{
... Termination will be done here ...
}

Termination will be done in the reverse order compared to initialization.

Terminating Communication Module

If it has been initialized, let's start by terminating the communication module:

void TermSoundEngine()
{
#ifndef AK_OPTIMIZED
//
// Terminate Communication Services
//
#endif // AK_OPTIMIZED
(...)
}
Caution: It is important to terminate the communication modules before the other modules.

Terminating Spatial Audio

If it has been initialized, Spatial Audio should be terminated before the sound engine.

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

Terminating the Music Engine

If it has been initialized, the music engine should be terminated before the sound engine.

void TermSoundEngine()
{
(...)
//
// Terminate the music engine
//
(...)
}

Terminating the Sound Engine

Then move on to the sound engine itself:

void TermSoundEngine()
{
(...)
//
// Terminate the sound engine
//
(...)
}

Terminating the Streaming Manager

Next we terminate the Streaming Manager and 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();
(...)
}

Terminating the Memory Manager

Finally, now that all the clients of the Memory Manager have been terminated, it's time for the Memory Manager itself to go as well:

void TermSoundEngine()
{
(...)
// Terminate the Memory Manager
}

Everything related to the sound engine has now been cleaned-up, and we are ready to exit the program. Next, you should move on to Integrate Wwise Elements into Your Game.

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()

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise