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_
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise