Wwise SDK 2021.1.4
사운드 엔진의 다양한 모듈 종료처리

소개

게임을 종료할 준비가 되었으며 더는 오디오가 필요하지 않다면, 앞서 초기화한 모듈을 전부 종료해야 합니다. 예제 프로그램은 모든 종료처리 코드를 한곳에 모으도록 다음 함수를 사용합니다.

void TermSoundEngine()
{
... 여기서 종료처리가 완료됩니다 ...
}

종료처리는 초기화 순서와 비교해서 역순으로 완료됩니다.

커뮤니케이션 모듈의 종료처리

커뮤니케이션 모듈이 초기화되었다면 종료를 시작합니다.

void TermSoundEngine()
{
#ifndef AK_OPTIMIZED
//
// 커뮤니케이션 서비스를 종료합니다.
//
#endif // AK_OPTIMIZED
(...)
}
경고: 중요한 사항으로 다른 모듈보다 먼저 커뮤니케이션 모듈을 종료해줘야 합니다.

Spatial Audio의 종료 처리

Spatial Audio가 초기화되었다면 사운드 엔진보다 먼저 종료해줘야 합니다.

void TermSoundEngine()
{
(...)
//
// Spatial Audio를 종료합니다.
//
(...)
}

뮤직 엔진의 종료처리

뮤직 엔진이 초기화되었다면 사운드 엔진보다 먼저 종료해줘야 합니다.

void TermSoundEngine()
{
(...)
//
// 뮤직 엔진을 종료합니다.
//
(...)
}

사운드 엔진의 종료처리

그러고 나서 사운드 엔진 자체를 종료합니다.

void TermSoundEngine()
{
(...)
//
// 사운드 엔진을 종료합니다.
//
(...)
}

스트리밍 매니저의 종료처리

다음으로 스트리밍 매니저와 하위-레벨 I/O를 종료합니다.

void TermSoundEngine()
{
(...)
// 스트리밍 장치와 스트리밍 매니저를 종료합니다.
// CAkFilePackageLowLevelIOBlocking::Term()은 스트림 매니저에 존재하는 연관된
// 스트리밍 장치를 파괴하고, File Location Resolver처럼 등록을 해제합니다.
g_lowLevelIO.Term();
(...)
}

메모리 매니저의 종료처리

이제 메모리 매니저의 모든 클라이언트가 종료되었으므로, 끝으로 메모리 매니저 자체를 종료해야 합니다.

void TermSoundEngine()
{
(...)
// 메모리 매니저를 종료합니다.
}

사운드 엔진과 연관된게 전부 다 깨끗하게 제거되었으며, 프로그램을 종료할 준비가 되었습니다. 다음으로 Wwise 구성요소를 게임에 통합하기 을 확인합니다.

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