UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio.cpp File Reference
#include "Audio.h"
#include "Algo/Find.h"
#include "Audio/AudioDebug.h"
#include "AudioDevice.h"
#include "AudioPluginUtilities.h"
#include "Components/SynthComponent.h"
#include "Engine/Engine.h"
#include "EngineAnalytics.h"
#include "IAnalyticsProviderET.h"
#include "Misc/Paths.h"
#include "Sound/AudioOutputTarget.h"
#include "Sound/SoundCue.h"
#include "Sound/SoundNodeWavePlayer.h"
#include "UObject/UObjectIterator.h"
#include "XmlFile.h"
#include "XmlNode.h"
#include "Algo/ForEach.h"

Classes

struct  FRiffWaveHeaderChunk
 
struct  FRiffChunkOld
 
struct  FRiffFormatChunk
 
struct  FRiffCueChunk
 
struct  FRiffCuePointChunk
 
struct  FRiffSampleChunk
 
struct  FRiffSampleLoopChunk
 
struct  FRiffListChunk
 
struct  FRiffLabelChunk
 
struct  FRiffNoteChunk
 
struct  FRiffLabeledTextChunk
 
struct  FRiffBroadcastAudioExtension
 
struct  FRiffIXmlChunk
 
struct  FSubformatGUID
 
struct  FExtendedFormatChunk
 

Namespaces

namespace  AudioModulationPrivate
 

Macros

#define WITH_SNDFILE_IO   (0)
 
#define UE_MAKEFOURCC(ch0, ch1, ch2, ch3)
 
#define UE_mmioFOURCC(ch0, ch1, ch2, ch3)    UE_MAKEFOURCC(ch0, ch1, ch2, ch3)
 

Functions

 DEFINE_LOG_CATEGORY (LogAudio)
 
 DEFINE_LOG_CATEGORY (LogAudioDebug)
 
 DEFINE_STAT (STAT_AudioMemorySize)
 
 DEFINE_STAT (STAT_ActiveSounds)
 
 DEFINE_STAT (STAT_AudioSources)
 
 DEFINE_STAT (STAT_AudioVirtualLoops)
 
 DEFINE_STAT (STAT_WaveInstances)
 
 DEFINE_STAT (STAT_WavesDroppedDueToPriority)
 
 DEFINE_STAT (STAT_AudioMaxChannels)
 
 DEFINE_STAT (STAT_AudioMaxStoppingSources)
 
 DEFINE_STAT (STAT_AudibleWavesDroppedDueToPriority)
 
 DEFINE_STAT (STAT_AudioFinishedDelegatesCalled)
 
 DEFINE_STAT (STAT_AudioFinishedDelegates)
 
 DEFINE_STAT (STAT_AudioBufferTime)
 
 DEFINE_STAT (STAT_AudioBufferTimeChannels)
 
 DEFINE_STAT (STAT_AudioDecompressTime)
 
 DEFINE_STAT (STAT_AudioPrepareDecompressionTime)
 
 DEFINE_STAT (STAT_AudioStreamedDecompressTime)
 
 DEFINE_STAT (STAT_AudioUpdateEffects)
 
 DEFINE_STAT (STAT_AudioEvaluateConcurrency)
 
 DEFINE_STAT (STAT_AudioUpdateSources)
 
 DEFINE_STAT (STAT_AudioResourceCreationTime)
 
 DEFINE_STAT (STAT_AudioSourceInitTime)
 
 DEFINE_STAT (STAT_AudioSourceCreateTime)
 
 DEFINE_STAT (STAT_AudioSubmitBuffersTime)
 
 DEFINE_STAT (STAT_AudioStartSources)
 
 DEFINE_STAT (STAT_AudioGatherWaveInstances)
 
 DEFINE_STAT (STAT_AudioFindNearestLocation)
 
bool IsAudioPluginEnabled (EAudioPlugin PluginType)
 
UClassGetAudioPluginCustomSettingsClass (EAudioPlugin PluginType)
 
bool IsSpatializationCVarEnabled ()
 
FArchiveoperator<< (FArchive &Ar, FNotifyBufferFinishedHooks &NotifyHook)
 
FArchiveoperator<< (FArchive &Ar, FWaveInstance *WaveInstance)
 
bool IsKnownChunkId (uint32 ChunkId)
 
FRiffChunkOldFindRiffChunk (FRiffChunkOld *RiffChunkStart, const uint8 *RiffChunkEnd, uint32 ChunkId)
 
void SerializeWaveFile (TArray< uint8 > &OutWaveFileData, const uint8 *InPCMData, const int32 NumBytes, const int32 NumChannels, const int32 SampleRate)
 

Variables

FAutoConsoleVariableRef CVarDisableStereoSpread (TEXT("au.DisableStereoSpread"), DisableStereoSpreadCvar, TEXT("0: Not Disabled, 1: Disabled"), ECVF_Default)
 
FAutoConsoleVariableRef CVarAllowAudioSpatializationCVar (TEXT("au.AllowAudioSpatialization"), AllowAudioSpatializationCVar, TEXT("0: Disable, >0: Enable"), ECVF_Default)
 
FAutoConsoleVariableRef CVarOcclusionFilterScaleEnabled (TEXT("au.EnableOcclusionFilterScale"), OcclusionFilterScaleEnabledCVar, TEXT("0: Not Enabled, 1: Enabled"), ECVF_Default)
 
FAutoConsoleVariableRef CVarBypassPlayWhenSilent (TEXT("au.BypassPlayWhenSilent"), BypassPlayWhenSilentCVar, TEXT("0: Honor the Play When Silent flag, 1: stop all silent non-procedural sources."), ECVF_Default)
 
FAutoConsoleVariableRef CVarMinVolumeThreshold (TEXT("au.WaveInstanceMinVolume"), WaveInstanceMinVolumeThresholdCVar, TEXT("Default is 0.0001 (-80 dB)"), ECVF_Default)
 

Macro Definition Documentation

◆ UE_MAKEFOURCC

#define UE_MAKEFOURCC (   ch0,
  ch1,
  ch2,
  ch3 
)
Value:
((uint32)(uint8)(ch0) | ((uint32)(uint8)(ch1) << 8) |\
((uint32)(uint8)(ch2) << 16) | ((uint32)(uint8)(ch3) << 24 ))
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6

◆ UE_mmioFOURCC

#define UE_mmioFOURCC (   ch0,
  ch1,
  ch2,
  ch3 
)     UE_MAKEFOURCC(ch0, ch1, ch2, ch3)

◆ WITH_SNDFILE_IO

#define WITH_SNDFILE_IO   (0)

Function Documentation

◆ DEFINE_LOG_CATEGORY() [1/2]

DEFINE_LOG_CATEGORY ( LogAudio  )

◆ DEFINE_LOG_CATEGORY() [2/2]

DEFINE_LOG_CATEGORY ( LogAudioDebug  )

◆ DEFINE_STAT() [1/26]

DEFINE_STAT ( STAT_ActiveSounds  )

◆ DEFINE_STAT() [2/26]

◆ DEFINE_STAT() [3/26]

DEFINE_STAT ( STAT_AudioBufferTime  )

◆ DEFINE_STAT() [4/26]

DEFINE_STAT ( STAT_AudioBufferTimeChannels  )

◆ DEFINE_STAT() [5/26]

DEFINE_STAT ( STAT_AudioDecompressTime  )

◆ DEFINE_STAT() [6/26]

DEFINE_STAT ( STAT_AudioEvaluateConcurrency  )

◆ DEFINE_STAT() [7/26]

DEFINE_STAT ( STAT_AudioFindNearestLocation  )

◆ DEFINE_STAT() [8/26]

DEFINE_STAT ( STAT_AudioFinishedDelegates  )

◆ DEFINE_STAT() [9/26]

◆ DEFINE_STAT() [10/26]

DEFINE_STAT ( STAT_AudioGatherWaveInstances  )

◆ DEFINE_STAT() [11/26]

DEFINE_STAT ( STAT_AudioMaxChannels  )

◆ DEFINE_STAT() [12/26]

DEFINE_STAT ( STAT_AudioMaxStoppingSources  )

◆ DEFINE_STAT() [13/26]

DEFINE_STAT ( STAT_AudioMemorySize  )

Audio stats

◆ DEFINE_STAT() [14/26]

◆ DEFINE_STAT() [15/26]

DEFINE_STAT ( STAT_AudioResourceCreationTime  )

◆ DEFINE_STAT() [16/26]

DEFINE_STAT ( STAT_AudioSourceCreateTime  )

◆ DEFINE_STAT() [17/26]

DEFINE_STAT ( STAT_AudioSourceInitTime  )

◆ DEFINE_STAT() [18/26]

DEFINE_STAT ( STAT_AudioSources  )

◆ DEFINE_STAT() [19/26]

DEFINE_STAT ( STAT_AudioStartSources  )

◆ DEFINE_STAT() [20/26]

◆ DEFINE_STAT() [21/26]

DEFINE_STAT ( STAT_AudioSubmitBuffersTime  )

◆ DEFINE_STAT() [22/26]

DEFINE_STAT ( STAT_AudioUpdateEffects  )

◆ DEFINE_STAT() [23/26]

DEFINE_STAT ( STAT_AudioUpdateSources  )

◆ DEFINE_STAT() [24/26]

DEFINE_STAT ( STAT_AudioVirtualLoops  )

◆ DEFINE_STAT() [25/26]

DEFINE_STAT ( STAT_WaveInstances  )

◆ DEFINE_STAT() [26/26]

DEFINE_STAT ( STAT_WavesDroppedDueToPriority  )

◆ FindRiffChunk()

FRiffChunkOld * FindRiffChunk ( FRiffChunkOld RiffChunkStart,
const uint8 RiffChunkEnd,
uint32  ChunkId 
)

◆ GetAudioPluginCustomSettingsClass()

UClass * GetAudioPluginCustomSettingsClass ( EAudioPlugin  PluginType)

◆ IsAudioPluginEnabled()

bool IsAudioPluginEnabled ( EAudioPlugin  PluginType)

Queries if a plugin of the given type is enabled.

◆ IsKnownChunkId()

bool IsKnownChunkId ( uint32  ChunkId)

◆ IsSpatializationCVarEnabled()

bool IsSpatializationCVarEnabled ( )

accessor for our Spatialization enabled CVar.

◆ operator<<() [1/2]

FArchive & operator<< ( FArchive Ar,
FNotifyBufferFinishedHooks NotifyHook 
)

◆ operator<<() [2/2]

FArchive & operator<< ( FArchive Ar,
FWaveInstance WaveInstance 
)

Friend archive function used for serialization.

◆ SerializeWaveFile()

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.

Variable Documentation

◆ CVarAllowAudioSpatializationCVar

FAutoConsoleVariableRef CVarAllowAudioSpatializationCVar(TEXT("au.AllowAudioSpatialization"), AllowAudioSpatializationCVar, TEXT("0: Disable, >0: Enable"), ECVF_Default) ( TEXT("au.AllowAudioSpatialization")  ,
AllowAudioSpatializationCVar  ,
TEXT("0: Disable, >0: Enable" ,
ECVF_Default   
)

◆ CVarBypassPlayWhenSilent

FAutoConsoleVariableRef CVarBypassPlayWhenSilent(TEXT("au.BypassPlayWhenSilent"), BypassPlayWhenSilentCVar, TEXT("0: Honor the Play When Silent flag, 1: stop all silent non-procedural sources."), ECVF_Default) ( TEXT("au.BypassPlayWhenSilent")  ,
BypassPlayWhenSilentCVar  ,
TEXT("0: Honor the Play When Silent flag, 1: stop all silent non-procedural sources." ,
ECVF_Default   
)

◆ CVarDisableStereoSpread

FAutoConsoleVariableRef CVarDisableStereoSpread(TEXT("au.DisableStereoSpread"), DisableStereoSpreadCvar, TEXT("0: Not Disabled, 1: Disabled"), ECVF_Default) ( TEXT("au.DisableStereoSpread")  ,
DisableStereoSpreadCvar  ,
TEXT("0: Not Disabled, 1: Disabled" ,
ECVF_Default   
)

◆ CVarMinVolumeThreshold

FAutoConsoleVariableRef CVarMinVolumeThreshold(TEXT("au.WaveInstanceMinVolume"), WaveInstanceMinVolumeThresholdCVar, TEXT("Default is 0.0001 (-80 dB)"), ECVF_Default) ( TEXT("au.WaveInstanceMinVolume")  ,
WaveInstanceMinVolumeThresholdCVar  ,
TEXT("Default is 0.0001 (-80 dB)")  ,
ECVF_Default   
)

◆ CVarOcclusionFilterScaleEnabled

FAutoConsoleVariableRef CVarOcclusionFilterScaleEnabled(TEXT("au.EnableOcclusionFilterScale"), OcclusionFilterScaleEnabledCVar, TEXT("0: Not Enabled, 1: Enabled"), ECVF_Default) ( TEXT("au.EnableOcclusionFilterScale")  ,
OcclusionFilterScaleEnabledCVar  ,
TEXT("0: Not Enabled, 1: Enabled" ,
ECVF_Default   
)