00001 00002 // 00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00007 // AkWinSoundEngine.h 00008 00011 00012 #ifndef _AK_WIN_SOUND_ENGINE_H_ 00013 #define _AK_WIN_SOUND_ENGINE_H_ 00014 00015 #include <AK/SoundEngine/Common/AkTypes.h> 00016 #include <AK/Tools/Common/AkPlatformFuncs.h> 00017 00020 enum AkSoundQuality 00021 { 00022 AkSoundQuality_High, 00023 AkSoundQuality_Low, 00024 }; 00025 00030 enum AkAudioAPI 00031 { 00032 AkAPI_XAudio2 = 1 << 0, 00033 AkAPI_DirectSound = 1 << 1, 00034 AkAPI_Wasapi = 1 << 2, 00035 AkAPI_Default = AkAPI_Wasapi | AkAPI_XAudio2 | AkAPI_DirectSound, 00036 AkAPI_Dummy = 1 << 3, 00037 }; 00038 00040 enum AkAudioOutputType 00041 { 00042 AkOutput_Dummy = 1 << 3, 00043 AkOutput_MergeToMain = 1 << 4, 00044 AkOutput_Main = 1 << 5, 00045 AkOutput_Secondary = 1 << 6, 00046 AkOutput_NumOutputs = 1 << 7, 00047 }; 00048 00053 00054 struct IXAudio2; 00055 struct AkPlatformInitSettings 00056 { 00057 // Direct sound. 00058 HWND hWnd; 00059 00060 00061 00062 00063 00064 00065 // Threading model. 00066 AkThreadProperties threadLEngine; 00067 AkThreadProperties threadBankManager; 00068 AkThreadProperties threadMonitor; 00069 00070 // Memory. 00071 AkUInt32 uLEngineDefaultPoolSize; 00072 AkReal32 fLEngineDefaultPoolRatioThreshold; 00073 00074 // Voices. 00075 AkUInt16 uNumRefillsInVoice; 00076 AkSoundQuality eAudioQuality; 00077 00078 bool bGlobalFocus; 00079 00080 00081 IXAudio2* pXAudio2; 00082 00083 AkUInt32 idAudioDevice; 00084 00085 }; 00086 00087 struct IDirectSound8; 00088 struct IXAudio2; 00089 struct IMMDevice; 00090 struct IUnknown; 00091 00092 namespace AK 00093 { 00097 AK_EXTERNAPIFUNC( IUnknown *, GetWwiseXAudio2Interface)(); 00098 00101 AK_EXTERNAPIFUNC( IDirectSound8 *, GetDirectSoundInstance )(); 00102 00106 AK_EXTERNAPIFUNC( AkUInt32, GetDeviceID ) (IMMDevice* in_pDevice); 00107 00113 AK_EXTERNAPIFUNC( AkUInt32, GetDeviceIDFromName )(wchar_t* in_szToken); 00114 00120 AK_EXTERNAPIFUNC(const wchar_t*, GetWindowsDeviceName) ( 00121 AkInt32 index, 00122 AkUInt32 &out_uDeviceID 00123 ); 00124 }; 00125 00126 #endif //_AK_WIN_SOUND_ENGINE_H_
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요