UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
Audio::FMixerSourceManager Class Reference

#include <AudioMixerSourceManager.h>

Public Member Functions

 FMixerSourceManager (FMixerDevice *InMixerDevice)
 
 ~FMixerSourceManager ()
 
void Init (const FSourceManagerInitParams &InitParams)
 
void Update (bool bTimedOut=false)
 
bool GetFreeSourceId (int32 &OutSourceId)
 
int32 GetNumActiveSources () const
 
int32 GetNumActiveAudioBuses () const
 
void ReleaseSourceId (const int32 SourceId)
 
void InitSource (const int32 SourceId, const FMixerSourceVoiceInitParams &InitParams)
 
void StartAudioBus (FAudioBusKey InAudioBusKey, int32 InNumChannels, bool bInIsAutomatic)
 
void StartAudioBus (FAudioBusKey InAudioBusKey, const FString &InAudioBusName, int32 InNumChannels, bool bInIsAutomatic)
 
void StopAudioBus (FAudioBusKey InAudioBusKey)
 
bool IsAudioBusActive (FAudioBusKey InAudioBusKey) const
 
int32 GetAudioBusNumChannels (FAudioBusKey InAudioBusKey) const
 
void AddPatchOutputForAudioBus (FAudioBusKey InAudioBusKey, const FPatchOutputStrongPtr &InPatchOutputStrongPtr)
 
void AddPatchOutputForAudioBus_AudioThread (FAudioBusKey InAudioBusKey, const FPatchOutputStrongPtr &InPatchOutputStrongPtr)
 
void AddPatchInputForAudioBus (FAudioBusKey InAudioBusKey, const FPatchInput &InPatchInput)
 
void AddPatchInputForAudioBus_AudioThread (FAudioBusKey InAudioBusKey, const FPatchInput &InPatchInput)
 
void Play (const int32 SourceId)
 
void Stop (const int32 SourceId)
 
void CancelQuantizedSound (const int32 SourceId)
 
void StopInternal (const int32 SourceId)
 
void StopFade (const int32 SourceId, const int32 NumFrames)
 
void Pause (const int32 SourceId)
 
void SetPitch (const int32 SourceId, const float Pitch)
 
void SetVolume (const int32 SourceId, const float Volume)
 
void SetDistanceAttenuation (const int32 SourceId, const float DistanceAttenuation)
 
void SetSpatializationParams (const int32 SourceId, const FSpatializationParams &InParams)
 
void SetChannelMap (const int32 SourceId, const uint32 NumInputChannels, const Audio::FAlignedFloatBuffer &InChannelMap, const bool bInIs3D, const bool bInIsCenterChannelOnly)
 
void SetLPFFrequency (const int32 SourceId, const float Frequency)
 
void SetHPFFrequency (const int32 SourceId, const float Frequency)
 
void SetModPitch (const int32 SourceId, const float InModPitch)
 
void SetModVolume (const int32 SourceId, const float InModVolume)
 
void SetModLPFFrequency (const int32 SourceId, const float InModFrequency)
 
void SetModHPFFrequency (const int32 SourceId, const float InModFrequency)
 
void SetModulationRouting (const int32 SourceId, FSoundModulationDefaultSettings &ModulationSettings)
 
void SetSourceBufferListener (const int32 SourceId, FSharedISourceBufferListenerPtr &InSourceBufferListener, bool InShouldSourceBufferListenerZeroBuffer)
 
void SetListenerTransforms (const TArray< FTransform > &ListenerTransforms)
 
const TArray< FTransform > * GetListenerTransforms () const
 
int64 GetNumFramesPlayed (const int32 SourceId) const
 
float GetEnvelopeValue (const int32 SourceId) const
 
float GetVolumeModulationValue (const int32 SourceId) const
 
float GetRelativeRenderCost (const int32 SourceId) const
 
bool IsUsingHRTFSpatializer (const int32 SourceId) const
 
bool NeedsSpeakerMap (const int32 SourceId) const
 
void ComputeNextBlockOfSamples ()
 
void UpdateSourceState ()
 
void ClearStoppingSounds ()
 
void MixOutputBuffers (const int32 SourceId, int32 InNumOutputChannels, const float InSendLevel, EMixerSourceSubmixSendStage InSubmixSendStage, FAlignedFloatBuffer &OutWetBuffer) const
 
void RenderSource (const int32 SourceId)
 
void Get2DChannelMap (const int32 SourceId, int32 InNumOutputChannels, Audio::FAlignedFloatBuffer &OutChannelMap)
 
const ISoundfieldAudioPacketGetEncodedOutput (const int32 SourceId, const FSoundfieldEncodingKey &InKey) const
 
const FQuat GetListenerRotation (const int32 SourceId) const
 
void SetSubmixSendInfo (const int32 SourceId, const FMixerSourceSubmixSend &SubmixSend)
 
void ClearSubmixSendInfo (const int32 SourceId, const FMixerSourceSubmixSend &SubmixSend)
 
void SetBusSendInfo (const int32 SourceId, EBusSendType InAudioBusSendType, uint32 AudiobusId, float BusSendLevel, const FString &InBusName)
 
void UpdateDeviceChannelCount (const int32 InNumOutputChannels)
 
void UpdateSourceEffectChain (const uint32 SourceEffectChainId, const TArray< FSourceEffectChainEntry > &SourceEffectChain, const bool bPlayEffectChainTails)
 
void PauseSoundForQuantizationCommand (const int32 SourceId)
 
void SetSubBufferDelayForSound (const int32 SourceId, const int32 FramesToDelay)
 
void UnPauseSoundForQuantizationCommand (const int32 SourceId)
 
const floatGetPreDistanceAttenuationBuffer (const int32 SourceId) const
 
const floatGetPreEffectBuffer (const int32 SourceId) const
 
const floatGetPreviousSourceBusBuffer (const int32 SourceId) const
 
const floatGetPreviousAudioBusBuffer (const int32 AudioBusId) const
 
int32 GetNumChannels (const int32 SourceId) const
 
int32 GetNumOutputFrames () const
 
bool IsSourceBus (const int32 SourceId) const
 
void PumpCommandQueue ()
 
void UpdatePendingReleaseData (bool bForceWait=false)
 
void FlushCommandQueue (bool bPumpCommandQueue=false)
 
void AudioMixerThreadMPSCCommand (TFunction< void()> &&InCommand, const char *InDebugString=nullptr)
 
void AddPendingAudioBusConnection (FAudioBusKey AudioBusKey, int32 NumChannels, bool bIsAutomatic, FPatchInput PatchInput, uint64 InstanceID=INDEX_NONE)
 
void AddPendingAudioBusConnection (FAudioBusKey AudioBusKey, int32 NumChannels, bool bIsAutomatic, FPatchOutputStrongPtr PatchOutputStrongPtr, uint64 InstanceID=INDEX_NONE)
 
FAudioRenderSchedulerGetRenderScheduler () const
 

Friends

class FMixerSourceVoice
 

Constructor & Destructor Documentation

◆ FMixerSourceManager()

Audio::FMixerSourceManager::FMixerSourceManager ( FMixerDevice InMixerDevice)

◆ ~FMixerSourceManager()

Audio::FMixerSourceManager::~FMixerSourceManager ( )

Member Function Documentation

◆ AddPatchInputForAudioBus()

void Audio::FMixerSourceManager::AddPatchInputForAudioBus ( FAudioBusKey  InAudioBusKey,
const FPatchInput InPatchInput 
)

◆ AddPatchInputForAudioBus_AudioThread()

void Audio::FMixerSourceManager::AddPatchInputForAudioBus_AudioThread ( FAudioBusKey  InAudioBusKey,
const FPatchInput InPatchInput 
)

◆ AddPatchOutputForAudioBus()

void Audio::FMixerSourceManager::AddPatchOutputForAudioBus ( FAudioBusKey  InAudioBusKey,
const FPatchOutputStrongPtr InPatchOutputStrongPtr 
)

◆ AddPatchOutputForAudioBus_AudioThread()

void Audio::FMixerSourceManager::AddPatchOutputForAudioBus_AudioThread ( FAudioBusKey  InAudioBusKey,
const FPatchOutputStrongPtr InPatchOutputStrongPtr 
)

◆ AddPendingAudioBusConnection() [1/2]

void Audio::FMixerSourceManager::AddPendingAudioBusConnection ( FAudioBusKey  AudioBusKey,
int32  NumChannels,
bool  bIsAutomatic,
FPatchInput  PatchInput,
uint64  InstanceID = INDEX_NONE 
)
inline

◆ AddPendingAudioBusConnection() [2/2]

void Audio::FMixerSourceManager::AddPendingAudioBusConnection ( FAudioBusKey  AudioBusKey,
int32  NumChannels,
bool  bIsAutomatic,
FPatchOutputStrongPtr  PatchOutputStrongPtr,
uint64  InstanceID = INDEX_NONE 
)
inline

◆ AudioMixerThreadMPSCCommand()

void Audio::FMixerSourceManager::AudioMixerThreadMPSCCommand ( TFunction< void()> &&  InCommand,
const char InDebugString = nullptr 
)

◆ CancelQuantizedSound()

void Audio::FMixerSourceManager::CancelQuantizedSound ( const int32  SourceId)

◆ ClearStoppingSounds()

void Audio::FMixerSourceManager::ClearStoppingSounds ( )

◆ ClearSubmixSendInfo()

void Audio::FMixerSourceManager::ClearSubmixSendInfo ( const int32  SourceId,
const FMixerSourceSubmixSend SubmixSend 
)

◆ ComputeNextBlockOfSamples()

void Audio::FMixerSourceManager::ComputeNextBlockOfSamples ( )

◆ FlushCommandQueue()

void Audio::FMixerSourceManager::FlushCommandQueue ( bool  bPumpCommandQueue = false)

◆ Get2DChannelMap()

void Audio::FMixerSourceManager::Get2DChannelMap ( const int32  SourceId,
int32  InNumOutputChannels,
Audio::FAlignedFloatBuffer OutChannelMap 
)

◆ GetAudioBusNumChannels()

int32 Audio::FMixerSourceManager::GetAudioBusNumChannels ( FAudioBusKey  InAudioBusKey) const

◆ GetEncodedOutput()

const ISoundfieldAudioPacket * Audio::FMixerSourceManager::GetEncodedOutput ( const int32  SourceId,
const FSoundfieldEncodingKey InKey 
) const

◆ GetEnvelopeValue()

float Audio::FMixerSourceManager::GetEnvelopeValue ( const int32  SourceId) const

◆ GetFreeSourceId()

bool Audio::FMixerSourceManager::GetFreeSourceId ( int32 OutSourceId)

◆ GetListenerRotation()

const FQuat Audio::FMixerSourceManager::GetListenerRotation ( const int32  SourceId) const

◆ GetListenerTransforms()

const TArray< FTransform > * Audio::FMixerSourceManager::GetListenerTransforms ( ) const

◆ GetNumActiveAudioBuses()

int32 Audio::FMixerSourceManager::GetNumActiveAudioBuses ( ) const

◆ GetNumActiveSources()

int32 Audio::FMixerSourceManager::GetNumActiveSources ( ) const

◆ GetNumChannels()

int32 Audio::FMixerSourceManager::GetNumChannels ( const int32  SourceId) const

◆ GetNumFramesPlayed()

int64 Audio::FMixerSourceManager::GetNumFramesPlayed ( const int32  SourceId) const

◆ GetNumOutputFrames()

int32 Audio::FMixerSourceManager::GetNumOutputFrames ( ) const
inline

◆ GetPreDistanceAttenuationBuffer()

const float * Audio::FMixerSourceManager::GetPreDistanceAttenuationBuffer ( const int32  SourceId) const

◆ GetPreEffectBuffer()

const float * Audio::FMixerSourceManager::GetPreEffectBuffer ( const int32  SourceId) const

◆ GetPreviousAudioBusBuffer()

const float * Audio::FMixerSourceManager::GetPreviousAudioBusBuffer ( const int32  AudioBusId) const

◆ GetPreviousSourceBusBuffer()

const float * Audio::FMixerSourceManager::GetPreviousSourceBusBuffer ( const int32  SourceId) const

◆ GetRelativeRenderCost()

float Audio::FMixerSourceManager::GetRelativeRenderCost ( const int32  SourceId) const

◆ GetRenderScheduler()

FAudioRenderScheduler & Audio::FMixerSourceManager::GetRenderScheduler ( ) const
inline

◆ GetVolumeModulationValue()

float Audio::FMixerSourceManager::GetVolumeModulationValue ( const int32  SourceId) const

◆ Init()

void Audio::FMixerSourceManager::Init ( const FSourceManagerInitParams InitParams)

◆ InitSource()

void Audio::FMixerSourceManager::InitSource ( const int32  SourceId,
const FMixerSourceVoiceInitParams InitParams 
)

◆ IsAudioBusActive()

bool Audio::FMixerSourceManager::IsAudioBusActive ( FAudioBusKey  InAudioBusKey) const

◆ IsSourceBus()

bool Audio::FMixerSourceManager::IsSourceBus ( const int32  SourceId) const

◆ IsUsingHRTFSpatializer()

bool Audio::FMixerSourceManager::IsUsingHRTFSpatializer ( const int32  SourceId) const

◆ MixOutputBuffers()

void Audio::FMixerSourceManager::MixOutputBuffers ( const int32  SourceId,
int32  InNumOutputChannels,
const float  InSendLevel,
EMixerSourceSubmixSendStage  InSubmixSendStage,
FAlignedFloatBuffer OutWetBuffer 
) const

◆ NeedsSpeakerMap()

bool Audio::FMixerSourceManager::NeedsSpeakerMap ( const int32  SourceId) const

◆ Pause()

void Audio::FMixerSourceManager::Pause ( const int32  SourceId)

◆ PauseSoundForQuantizationCommand()

void Audio::FMixerSourceManager::PauseSoundForQuantizationCommand ( const int32  SourceId)

◆ Play()

void Audio::FMixerSourceManager::Play ( const int32  SourceId)

◆ PumpCommandQueue()

void Audio::FMixerSourceManager::PumpCommandQueue ( )

◆ ReleaseSourceId()

void Audio::FMixerSourceManager::ReleaseSourceId ( const int32  SourceId)

◆ RenderSource()

void Audio::FMixerSourceManager::RenderSource ( const int32  SourceId)

◆ SetBusSendInfo()

void Audio::FMixerSourceManager::SetBusSendInfo ( const int32  SourceId,
EBusSendType  InAudioBusSendType,
uint32  AudiobusId,
float  BusSendLevel,
const FString &  InBusName 
)

◆ SetChannelMap()

void Audio::FMixerSourceManager::SetChannelMap ( const int32  SourceId,
const uint32  NumInputChannels,
const Audio::FAlignedFloatBuffer InChannelMap,
const bool  bInIs3D,
const bool  bInIsCenterChannelOnly 
)

◆ SetDistanceAttenuation()

void Audio::FMixerSourceManager::SetDistanceAttenuation ( const int32  SourceId,
const float  DistanceAttenuation 
)

◆ SetHPFFrequency()

void Audio::FMixerSourceManager::SetHPFFrequency ( const int32  SourceId,
const float  Frequency 
)

◆ SetListenerTransforms()

void Audio::FMixerSourceManager::SetListenerTransforms ( const TArray< FTransform > &  ListenerTransforms)

◆ SetLPFFrequency()

void Audio::FMixerSourceManager::SetLPFFrequency ( const int32  SourceId,
const float  Frequency 
)

◆ SetModHPFFrequency()

void Audio::FMixerSourceManager::SetModHPFFrequency ( const int32  SourceId,
const float  InModFrequency 
)

◆ SetModLPFFrequency()

void Audio::FMixerSourceManager::SetModLPFFrequency ( const int32  SourceId,
const float  InModFrequency 
)

◆ SetModPitch()

void Audio::FMixerSourceManager::SetModPitch ( const int32  SourceId,
const float  InModPitch 
)

◆ SetModulationRouting()

void Audio::FMixerSourceManager::SetModulationRouting ( const int32  SourceId,
FSoundModulationDefaultSettings ModulationSettings 
)

◆ SetModVolume()

void Audio::FMixerSourceManager::SetModVolume ( const int32  SourceId,
const float  InModVolume 
)

◆ SetPitch()

void Audio::FMixerSourceManager::SetPitch ( const int32  SourceId,
const float  Pitch 
)

◆ SetSourceBufferListener()

void Audio::FMixerSourceManager::SetSourceBufferListener ( const int32  SourceId,
FSharedISourceBufferListenerPtr InSourceBufferListener,
bool  InShouldSourceBufferListenerZeroBuffer 
)

◆ SetSpatializationParams()

void Audio::FMixerSourceManager::SetSpatializationParams ( const int32  SourceId,
const FSpatializationParams InParams 
)

◆ SetSubBufferDelayForSound()

void Audio::FMixerSourceManager::SetSubBufferDelayForSound ( const int32  SourceId,
const int32  FramesToDelay 
)

◆ SetSubmixSendInfo()

void Audio::FMixerSourceManager::SetSubmixSendInfo ( const int32  SourceId,
const FMixerSourceSubmixSend SubmixSend 
)

◆ SetVolume()

void Audio::FMixerSourceManager::SetVolume ( const int32  SourceId,
const float  Volume 
)

◆ StartAudioBus() [1/2]

void Audio::FMixerSourceManager::StartAudioBus ( FAudioBusKey  InAudioBusKey,
const FString &  InAudioBusName,
int32  InNumChannels,
bool  bInIsAutomatic 
)

◆ StartAudioBus() [2/2]

void Audio::FMixerSourceManager::StartAudioBus ( FAudioBusKey  InAudioBusKey,
int32  InNumChannels,
bool  bInIsAutomatic 
)

◆ Stop()

void Audio::FMixerSourceManager::Stop ( const int32  SourceId)

◆ StopAudioBus()

void Audio::FMixerSourceManager::StopAudioBus ( FAudioBusKey  InAudioBusKey)

◆ StopFade()

void Audio::FMixerSourceManager::StopFade ( const int32  SourceId,
const int32  NumFrames 
)

◆ StopInternal()

void Audio::FMixerSourceManager::StopInternal ( const int32  SourceId)

◆ UnPauseSoundForQuantizationCommand()

void Audio::FMixerSourceManager::UnPauseSoundForQuantizationCommand ( const int32  SourceId)

◆ Update()

void Audio::FMixerSourceManager::Update ( bool  bTimedOut = false)

◆ UpdateDeviceChannelCount()

void Audio::FMixerSourceManager::UpdateDeviceChannelCount ( const int32  InNumOutputChannels)

◆ UpdatePendingReleaseData()

void Audio::FMixerSourceManager::UpdatePendingReleaseData ( bool  bForceWait = false)

◆ UpdateSourceEffectChain()

void Audio::FMixerSourceManager::UpdateSourceEffectChain ( const uint32  SourceEffectChainId,
const TArray< FSourceEffectChainEntry > &  SourceEffectChain,
const bool  bPlayEffectChainTails 
)

◆ UpdateSourceState()

void Audio::FMixerSourceManager::UpdateSourceState ( )

Friends And Related Symbol Documentation

◆ FMixerSourceVoice

friend class FMixerSourceVoice
friend

The documentation for this class was generated from the following files: