123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 |
- #ifndef _AK_IOS_SOUND_ENGINE_H_
- #define _AK_IOS_SOUND_ENGINE_H_
- #include <AK/SoundEngine/Common/AkTypes.h>
- #include <AK/Tools/Common/AkPlatformFuncs.h>
- #include <AudioToolbox/AudioToolbox.h>
- enum AkAudioSessionCategory
- {
- AkAudioSessionCategoryAmbient,
- AkAudioSessionCategorySoloAmbient,
- AkAudioSessionCategoryPlayAndRecord,
- AkAudioSessionCategoryPlayback
- };
- enum AkAudioSessionCategoryOptions
- {
- AkAudioSessionCategoryOptionMixWithOthers = 1,
- AkAudioSessionCategoryOptionDuckOthers = 2,
- AkAudioSessionCategoryOptionAllowBluetooth = 4,
- AkAudioSessionCategoryOptionDefaultToSpeaker = 8,
- AkAudioSessionCategoryOptionAllowBluetoothA2DP = 0x20
- };
- enum AkAudioSessionMode
- {
- AkAudioSessionModeDefault = 0,
- AkAudioSessionModeVoiceChat,
- AkAudioSessionModeGameChat,
- AkAudioSessionModeVideoRecording,
- AkAudioSessionModeMeasurement,
- AkAudioSessionModeMoviePlayback,
- AkAudioSessionModeVideoChat
- };
- enum AkAudioSessionSetActiveOptions
- {
- AkAudioSessionSetActiveOptionNotifyOthersOnDeactivation = 1
- };
- enum AkAudioSessionBehaviorOptions
- {
- AkAudioSessionBehaviorSuspendInBackground = 0x1
- };
- struct AkAudioSessionProperties
- {
- AkAudioSessionCategory eCategory;
- AkAudioSessionCategoryOptions eCategoryOptions;
- AkAudioSessionMode eMode;
- AkAudioSessionSetActiveOptions eSetActivateOptions;
- AkAudioSessionBehaviorOptions eAudioSessionBehavior;
- };
- typedef enum AkAudioAPIiOS
- {
- AkAudioAPI_AVAudioEngine = 1 << 0,
- AkAudioAPI_AudioUnit = 1 << 1,
- AkAudioAPI_Default = AkAudioAPI_AVAudioEngine | AkAudioAPI_AudioUnit,
- } AkAudioAPI;
- namespace AK
- {
- namespace SoundEngine
- {
- namespace iOS
- {
-
-
-
-
-
-
- typedef AKRESULT ( * AudioInputCallbackFunc )(
- const AudioBufferList* io_Data,
-
-
- void* in_pCookie
- );
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- typedef void ( * AudioInterruptionCallbackFunc )(
- bool in_bEnterInterruption,
-
- void* in_pCookie
- );
-
-
-
-
-
-
-
-
- AK_EXTERNAPIFUNC( void, ChangeAudioSessionProperties )(
- const AkAudioSessionProperties &in_properties
- );
- }
-
-
-
-
- AK_EXTERNAPIFUNC(AkDeviceID, GetDeviceIDFromPlayerIndex) (int playerIndex);
- }
- }
- struct AkAudioCallbacks
- {
- AK::SoundEngine::iOS::AudioInputCallbackFunc inputCallback;
- void* inputCallbackCookie;
- AK::SoundEngine::iOS::AudioInterruptionCallbackFunc interruptionCallback;
- void* interruptionCallbackCookie;
- };
- struct AkPlatformInitSettings
- {
-
- AkThreadProperties threadLEngine;
- AkThreadProperties threadOutputMgr;
- AkThreadProperties threadBankManager;
- AkThreadProperties threadMonitor;
-
- AkUInt32 uSampleRate;
-
- AkUInt16 uNumRefillsInVoice;
- AkAudioSessionProperties audioSession;
- AkAudioCallbacks audioCallbacks;
-
- AkAudioAPI eAudioAPI;
-
-
- AkUInt32 uNumSpatialAudioPointSources;
- bool bVerboseSystemOutput;
- };
- #endif
|