Version
00001 00002 // 00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00007 // AkiOSSoundEngine.h 00008 00011 00012 #ifndef _AK_IOS_SOUND_ENGINE_H_ 00013 #define _AK_IOS_SOUND_ENGINE_H_ 00014 00015 #include <AK/SoundEngine/Common/AkTypes.h> 00016 #include <AK/Tools/Common/AkPlatformFuncs.h> 00017 00018 #include <AudioToolbox/AudioToolbox.h> 00019 00030 enum AkAudioSessionCategory 00031 { 00032 AkAudioSessionCategoryAmbient, 00033 AkAudioSessionCategorySoloAmbient, 00034 AkAudioSessionCategoryPlayAndRecord 00035 }; 00036 00043 enum AkAudioSessionCategoryOptions 00044 { 00045 AkAudioSessionCategoryOptionMixWithOthers = 1, 00046 AkAudioSessionCategoryOptionDuckOthers = 2, 00047 AkAudioSessionCategoryOptionAllowBluetooth = 4, 00048 AkAudioSessionCategoryOptionDefaultToSpeaker = 8 00049 }; 00050 00056 enum AkAudioSessionMode 00057 { 00058 AkAudioSessionModeDefault, 00059 AkAudioSessionModeVoiceChat, 00060 AkAudioSessionModeGameChat, 00061 AkAudioSessionModeVideoRecording, 00062 AkAudioSessionModeMeasurement, 00063 AkAudioSessionModeMoviePlayback, 00064 AkAudioSessionModeVideoChat 00065 }; 00066 00072 enum AkAudioSessionSetActiveOptions 00073 { 00074 AkAudioSessionSetActiveOptionNotifyOthersOnDeactivation = 1 00075 }; 00076 00085 struct AkAudioSessionProperties 00086 { 00087 AkAudioSessionCategory eCategory; 00088 AkAudioSessionCategoryOptions eCategoryOptions; 00089 AkAudioSessionMode eMode; 00090 AkAudioSessionSetActiveOptions eSetActivateOptions; 00091 }; 00092 00093 00097 enum AkAudioAPI 00098 { 00099 AkAPI_Default = 1 << 0, 00100 AkAPI_Dummy = 1 << 2, 00101 }; 00102 00104 enum AkAudioOutputType 00105 { 00106 AkOutput_Dummy = 1 << 2, 00107 AkOutput_MergeToMain = 1 << 3, 00108 AkOutput_Main = 1 << 4, 00109 AkOutput_NumOutputs = 1 << 5, 00110 }; 00111 00112 namespace AK 00113 { 00114 namespace SoundEngine 00115 { 00116 namespace iOS 00117 { 00124 typedef AKRESULT ( * AudioInputCallbackFunc )( 00125 AudioBufferList* io_Data, 00126 00127 00128 void* in_pCookie 00129 ); 00130 00148 typedef AKRESULT ( * AudioInterruptionCallbackFunc )( 00149 bool in_bEnterInterruption, 00150 00151 00152 void* in_pCookie 00153 ); 00154 } 00155 } 00156 } 00157 00162 struct AkAudioCallbacks 00163 { 00164 AK::SoundEngine::iOS::AudioInputCallbackFunc inputCallback; 00165 void* inputCallbackCookie; 00166 AK::SoundEngine::iOS::AudioInterruptionCallbackFunc interruptionCallback; 00167 void* interruptionCallbackCookie; 00168 }; 00169 00175 struct AkPlatformInitSettings 00176 { 00177 // Threading model. 00178 AkThreadProperties threadLEngine; 00179 AkThreadProperties threadBankManager; 00180 AkThreadProperties threadMonitor; 00181 00182 // Memory. 00183 AkReal32 fLEngineDefaultPoolRatioThreshold; 00184 00185 AkUInt32 uLEngineDefaultPoolSize; 00186 AkUInt32 uSampleRate; 00187 // Voices. 00188 AkUInt16 uNumRefillsInVoice; 00189 AkAudioSessionProperties audioSession; 00190 AkAudioCallbacks audioCallbacks; 00191 }; 00192 00193 00194 #endif //_AK_IOS_SOUND_ENGINE_H_
Des questions ? Des problèmes ? Besoin de plus d'informations ? Contactez-nous, nous pouvons vous aider !
Visitez notre page d'AideEnregistrez votre projet et nous vous aiderons à démarrer sans aucune obligation !
Partir du bon pied avec Wwise