버전
menu_open
link

include/AK/SoundEngine/Platforms/iOS/AkiOSSoundEngine.h

Go to the documentation of this file.
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_

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요