19#include <AudioToolbox/AudioToolbox.h>
20#include <AudioUnit/AudioUnit.h>
21#include <AVFoundation/AVAudioSession.h>
23#define AudioSampleType SInt16
31#define CHANNELS_PER_BUS 2
32#define AudioCallbackFrameSize (8 * 1024)
133 virtual void Update(
void)
override;
136 virtual void Play(
void)
override;
139 virtual void Stop(
void)
override;
142 virtual void Pause(
void)
override;
185 void CleanupAudioBuffer();
#define GLog
Definition CoreGlobals.h:95
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
ESoundFormat
Definition IOSAudioDevice.h:40
@ SoundFormat_LPCM
Definition IOSAudioDevice.h:42
@ SoundFormat_Invalid
Definition IOSAudioDevice.h:41
@ SoundFormat_ADPCM
Definition IOSAudioDevice.h:43
void Init()
Definition LockFreeList.h:4
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
Definition AudioDevice.h:417
Definition AudioEffect.h:102
Definition IOSAudioDevice.h:194
static void DecrementSuspendCounter()
Definition IOSAudioDevice.cpp:85
static void IncrementSuspendCounter()
Definition IOSAudioDevice.cpp:77
virtual bool IsExernalBackgroundSoundActive() override
Definition IOSAudioSession.cpp:36
virtual bool Exec(UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar= *GLog) override
Definition IOSAudioDevice.cpp:109
bool SetAudioSessionActive(bool bActive)
Definition IOSAudioSession.cpp:30
virtual FAudioPlatformSettings GetPlatformSettings() const override
Definition IOSAudioDevice.cpp:120
AUNode GetMixerNode() const
Definition IOSAudioDevice.h:200
virtual void UpdateDeviceDeltaTime() override
Definition IOSAudioDevice.cpp:93
AudioUnit GetMixerUnit() const
Definition IOSAudioDevice.h:201
void GetHardwareSampleRate(double &OutSampleRate)
Definition IOSAudioSession.cpp:18
virtual void SuspendContext()
Definition IOSAudioDevice.cpp:57
virtual void TeardownHardware() override
Definition IOSAudioDevice.cpp:261
virtual ~FIOSAudioDevice()
Definition IOSAudioDevice.h:197
bool SetHardwareSampleRate(const double &InSampleRate)
Definition IOSAudioSession.cpp:24
virtual void UpdateHardware() override
Definition IOSAudioDevice.cpp:276
FIOSAudioDevice()
Definition IOSAudioDevice.cpp:98
AUGraph GetAudioUnitGraph() const
Definition IOSAudioDevice.h:199
virtual FAudioEffectsManager * CreateEffectsManager() override
Definition IOSAudioDevice.cpp:294
virtual FSoundSource * CreateSoundSource() override
Definition IOSAudioDevice.cpp:300
AudioUnit GetOutputUnit() const
Definition IOSAudioDevice.h:202
virtual bool InitializeHardware() override
Definition IOSAudioDevice.cpp:125
virtual void ResumeContext()
Definition IOSAudioDevice.cpp:37
Definition IOSAudioDevice.h:50
virtual bool ReadCompressedData(uint8 *Destination, int32 NumFramesToDecode, bool bLooping) override
Definition IOSAudioBuffer.cpp:136
int32 SoundFormat
Definition IOSAudioDevice.h:93
uint32 BufferSize
Definition IOSAudioDevice.h:95
ICompressedAudioInfo * DecompressionState
Definition IOSAudioDevice.h:98
int32 SampleRate
Definition IOSAudioDevice.h:92
bool bIsProcedural
Definition IOSAudioDevice.h:100
bool bStreaming
Definition IOSAudioDevice.h:99
virtual int32 GetCurrentChunkOffset() const override
Definition IOSAudioBuffer.cpp:106
bool ReleaseCurrentChunk()
Definition IOSAudioBuffer.cpp:194
virtual bool ReadCompressedInfo(USoundWave *SoundWave) override
Definition IOSAudioBuffer.cpp:116
int32 RenderCallbackBufferSize
Definition IOSAudioDevice.h:91
virtual int32 GetCurrentChunkIndex() const override
Definition IOSAudioBuffer.cpp:96
virtual int32 GetSize(void) override
Definition IOSAudioBuffer.cpp:81
virtual ~FIOSAudioSoundBuffer(void)
Definition IOSAudioBuffer.cpp:61
int16 * SampleData
Definition IOSAudioDevice.h:94
Definition IOSAudioDevice.h:107
TArray< Audio::FParam > LPFParamBank
Definition IOSAudioDevice.h:156
~FIOSAudioSoundSource(void)
Definition IOSAudioSource.cpp:92
virtual void Pause(void) override
Definition IOSAudioSource.cpp:341
int32 SampleRate
Definition IOSAudioDevice.h:158
bool DetachFromAUGraph()
Definition IOSAudioSource.cpp:412
AudioUnitElement GetAudioUnitElement(int32 Channel)
Definition IOSAudioSource.cpp:387
bool AttachToAUGraph()
Definition IOSAudioSource.cpp:393
float SourceLPFFrequency
Definition IOSAudioDevice.h:161
uint32 BusNumber
Definition IOSAudioDevice.h:172
FIOSAudioSoundBuffer * IOSBuffer
Definition IOSAudioDevice.h:171
virtual void Update(void) override
Definition IOSAudioSource.cpp:207
FIOSAudioDevice * IOSAudioDevice
Definition IOSAudioDevice.h:167
bool bAllChannelsFinished
Definition IOSAudioDevice.h:177
bool bChannel0Finished
Definition IOSAudioDevice.h:176
virtual void Play(void) override
Definition IOSAudioSource.cpp:282
TArray< Audio::FOnePoleLPF > LowpassFilterBank
Definition IOSAudioDevice.h:155
virtual void Stop(void) override
Definition IOSAudioSource.cpp:308
int32 CallbackLock
Definition IOSAudioDevice.h:174
virtual bool IsFinished(void) override
Definition IOSAudioSource.cpp:354
Definition OutputDevice.h:133
FWaveInstance * WaveInstance
Definition Audio.h:797
Definition AudioDecompress.h:31
Definition SoundWave.h:417