UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio.h File Reference

Go to the source code of this file.

Classes

struct  FNotifyBufferFinishedHooks
 
class  ISourceBufferListener
 
struct  ISourceBufferListener::FOnNewBufferParams
 
struct  FWaveInstance
 
class  FSoundBuffer
 
class  FSoundSource
 
struct  FWaveCue
 
struct  FWaveSampleLoop
 
class  FWaveModInfo
 

Typedefs

using FSharedISourceBufferListenerPtr = TSharedPtr< ISourceBufferListener, ESPMode::ThreadSafe >
 

Enumerations

enum  EAudioSpeakers : int {
  SPEAKER_FrontLeft , SPEAKER_FrontRight , SPEAKER_FrontCenter , SPEAKER_LowFrequency ,
  SPEAKER_LeftSurround , SPEAKER_RightSurround , SPEAKER_LeftBack , SPEAKER_RightBack ,
  SPEAKER_Count
}
 
enum  ELoopingMode { LOOP_Never , LOOP_WithNotification , LOOP_Forever }
 
enum class  EBusSendType : uint8 { PreEffect , PostEffect , Count }
 

Functions

ENGINE_API DECLARE_LOG_CATEGORY_EXTERN (LogAudio, Display, All)
 
ENGINE_API DECLARE_LOG_CATEGORY_EXTERN (LogAudioDebug, Display, All)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Active Sounds"), STAT_ActiveSounds, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Audio Evaluate Concurrency"), STAT_AudioEvaluateConcurrency, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Audio Sources"), STAT_AudioSources, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Wave Instances"), STAT_WaveInstances, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Wave Instances Dropped"), STAT_WavesDroppedDueToPriority, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Virtualized Loops"), STAT_AudioVirtualLoops, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Audible Wave Instances Dropped"), STAT_AudibleWavesDroppedDueToPriority, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Max Channels"), STAT_AudioMaxChannels, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Max Stopping Sources"), STAT_AudioMaxStoppingSources, STATGROUP_Audio,)
 
 DECLARE_DWORD_COUNTER_STAT_EXTERN (TEXT("Finished delegates called"), STAT_AudioFinishedDelegatesCalled, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Finished delegates time"), STAT_AudioFinishedDelegates, STATGROUP_Audio,)
 
 DECLARE_MEMORY_STAT_EXTERN (TEXT("Audio Memory Used"), STAT_AudioMemorySize, STATGROUP_Audio,)
 
 DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN (TEXT("Audio Buffer Time"), STAT_AudioBufferTime, STATGROUP_Audio,)
 
 DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN (TEXT("Audio Buffer Time (w/ Channels)"), STAT_AudioBufferTimeChannels, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Gathering WaveInstances"), STAT_AudioGatherWaveInstances, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Processing Sources"), STAT_AudioStartSources, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Updating Sources"), STAT_AudioUpdateSources, STATGROUP_Audio, ENGINE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Updating Effects"), STAT_AudioUpdateEffects, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Source Init"), STAT_AudioSourceInitTime, STATGROUP_Audio, ENGINE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Source Create"), STAT_AudioSourceCreateTime, STATGROUP_Audio, ENGINE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Submit Buffers"), STAT_AudioSubmitBuffersTime, STATGROUP_Audio, ENGINE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Decompress Audio"), STAT_AudioDecompressTime, STATGROUP_Audio, ENGINE_API)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Prepare Audio Decompression"), STAT_AudioPrepareDecompressionTime, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Finding Nearest Location"), STAT_AudioFindNearestLocation, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Decompress Streamed"), STAT_AudioStreamedDecompressTime, STATGROUP_Audio,)
 
 DECLARE_CYCLE_STAT_EXTERN (TEXT("Buffer Creation"), STAT_AudioResourceCreationTime, STATGROUP_Audio,)
 
ENGINE_API bool IsAudioPluginEnabled (EAudioPlugin PluginType)
 
ENGINE_API UClassGetAudioPluginCustomSettingsClass (EAudioPlugin PluginType)
 
ENGINE_API bool IsSpatializationCVarEnabled ()
 
ENGINE_API void SerializeWaveFile (TArray< uint8 > &OutWaveFileData, const uint8 *InPCMData, const int32 NumBytes, const int32 NumChannels, const int32 SampleRate)
 
ENGINE_API void SetCompressedAudioFormatsToBuild (const TCHAR *Platform=NULL)
 
ENGINE_API const TArray< FName > & GetCompressedAudioFormatsToBuild ()
 

Typedef Documentation

◆ FSharedISourceBufferListenerPtr

Enumeration Type Documentation

◆ EAudioSpeakers

Channel definitions for multistream waves

These are in the sample order OpenAL expects for a 7.1 sound

Enumerator
SPEAKER_FrontLeft 
SPEAKER_FrontRight 
SPEAKER_FrontCenter 
SPEAKER_LowFrequency 
SPEAKER_LeftSurround 
SPEAKER_RightSurround 
SPEAKER_LeftBack 
SPEAKER_RightBack 
SPEAKER_Count 

◆ EBusSendType

enum class EBusSendType : uint8
strong

Bus send types

Enumerator
PreEffect 
PostEffect 
Count 

◆ ELoopingMode

Enumerator
LOOP_Never 

One shot sound

LOOP_WithNotification 

Call the user callback on each loop for dynamic control

LOOP_Forever 

Loop the sound forever

Function Documentation

◆ DECLARE_CYCLE_STAT_EXTERN() [1/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Audio Evaluate Concurrency" ,
STAT_AudioEvaluateConcurrency  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [2/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Buffer Creation" ,
STAT_AudioResourceCreationTime  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [3/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Decompress Audio" ,
STAT_AudioDecompressTime  ,
STATGROUP_Audio  ,
ENGINE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [4/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Decompress Streamed" ,
STAT_AudioStreamedDecompressTime  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [5/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Finding Nearest Location" ,
STAT_AudioFindNearestLocation  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [6/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Finished delegates time" ,
STAT_AudioFinishedDelegates  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [7/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Gathering WaveInstances" ,
STAT_AudioGatherWaveInstances  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [8/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Prepare Audio Decompression" ,
STAT_AudioPrepareDecompressionTime  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [9/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Processing Sources" ,
STAT_AudioStartSources  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [10/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Source Create" ,
STAT_AudioSourceCreateTime  ,
STATGROUP_Audio  ,
ENGINE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [11/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Source Init" ,
STAT_AudioSourceInitTime  ,
STATGROUP_Audio  ,
ENGINE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [12/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Submit Buffers" ,
STAT_AudioSubmitBuffersTime  ,
STATGROUP_Audio  ,
ENGINE_API   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [13/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Updating Effects" ,
STAT_AudioUpdateEffects  ,
STATGROUP_Audio   
)

◆ DECLARE_CYCLE_STAT_EXTERN() [14/14]

DECLARE_CYCLE_STAT_EXTERN ( TEXT("Updating Sources" ,
STAT_AudioUpdateSources  ,
STATGROUP_Audio  ,
ENGINE_API   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [1/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Active Sounds" ,
STAT_ActiveSounds  ,
STATGROUP_Audio   
)

Audio stats

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [2/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Audible Wave Instances Dropped" ,
STAT_AudibleWavesDroppedDueToPriority  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [3/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Audio Sources" ,
STAT_AudioSources  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [4/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Finished delegates called" ,
STAT_AudioFinishedDelegatesCalled  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [5/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Max Channels" ,
STAT_AudioMaxChannels  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [6/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Max Stopping Sources" ,
STAT_AudioMaxStoppingSources  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [7/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Virtualized Loops" ,
STAT_AudioVirtualLoops  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [8/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Wave Instances Dropped" ,
STAT_WavesDroppedDueToPriority  ,
STATGROUP_Audio   
)

◆ DECLARE_DWORD_COUNTER_STAT_EXTERN() [9/9]

DECLARE_DWORD_COUNTER_STAT_EXTERN ( TEXT("Wave Instances" ,
STAT_WaveInstances  ,
STATGROUP_Audio   
)

◆ DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN() [1/2]

DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN ( TEXT("Audio Buffer Time (w/ Channels)")  ,
STAT_AudioBufferTimeChannels  ,
STATGROUP_Audio   
)

◆ DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN() [2/2]

DECLARE_FLOAT_ACCUMULATOR_STAT_EXTERN ( TEXT("Audio Buffer Time" ,
STAT_AudioBufferTime  ,
STATGROUP_Audio   
)

◆ DECLARE_LOG_CATEGORY_EXTERN() [1/2]

ENGINE_API DECLARE_LOG_CATEGORY_EXTERN ( LogAudio  ,
Display  ,
All   
)

◆ DECLARE_LOG_CATEGORY_EXTERN() [2/2]

ENGINE_API DECLARE_LOG_CATEGORY_EXTERN ( LogAudioDebug  ,
Display  ,
All   
)

◆ DECLARE_MEMORY_STAT_EXTERN()

DECLARE_MEMORY_STAT_EXTERN ( TEXT("Audio Memory Used" ,
STAT_AudioMemorySize  ,
STATGROUP_Audio   
)

◆ GetAudioPluginCustomSettingsClass()

ENGINE_API UClass * GetAudioPluginCustomSettingsClass ( EAudioPlugin  PluginType)

◆ GetCompressedAudioFormatsToBuild()

ENGINE_API const TArray< FName > & GetCompressedAudioFormatsToBuild ( )

Brings loaded sounds up to date for the given platforms (or all platforms), and also sets persistent variables to cover any newly loaded ones.

Parameters
PlatformName of platform to cook for, or NULL if all platforms

◆ IsAudioPluginEnabled()

ENGINE_API bool IsAudioPluginEnabled ( EAudioPlugin  PluginType)

Queries if a plugin of the given type is enabled.

◆ IsSpatializationCVarEnabled()

ENGINE_API bool IsSpatializationCVarEnabled ( )

accessor for our Spatialization enabled CVar.

◆ SerializeWaveFile()

ENGINE_API void SerializeWaveFile ( TArray< uint8 > &  OutWaveFileData,
const uint8 InPCMData,
const int32  NumBytes,
const int32  NumChannels,
const int32  SampleRate 
)

Utility to serialize raw PCM data into a wave file.

◆ SetCompressedAudioFormatsToBuild()

ENGINE_API void SetCompressedAudioFormatsToBuild ( const TCHAR Platform = NULL)

Brings loaded sounds up to date for the given platforms (or all platforms), and also sets persistent variables to cover any newly loaded ones.

Parameters
PlatformName of platform to cook for, or NULL if all platforms