Navigation
API > API/Runtime > API/Runtime/AudioMixer
Inheritance Hierarchy
- FAudioDevice
- IAudioMixer
- FGCObject
- FMixerDevice
References
| Module | AudioMixer |
| Header | /Engine/Source/Runtime/AudioMixer/Public/AudioMixerDevice.h |
| Include | #include "AudioMixerDevice.h" |
Syntax
class FMixerDevice :
public FAudioDevice,
public IAudioMixer,
public FGCObject
Variables
| Type | Name | Description | |
|---|---|---|---|
| TArray< FTransform > | ListenerTransforms | ||
| FQuartzClockManager | QuantizedEventClockManager | Clock Manager for quantized event handling on Audio Render Thread. | |
| FCriticalSection | QuartzPersistentStateCritSec | Technically, in editor, multiple UQuartz(World)Subsystem's will reference the same FMixerDevice object. | |
| TSharedPtr< FPersistentQuartzSubsystemData, ESPMode::ThreadSafe > | QuartzSubsystemData | Keep a reference alive to UQuartzSubsystem state that needs to persist across level transitions (UWorld destruction. |
Constructors
| Type | Name | Description | |
|---|---|---|---|
FMixerDevice
(
IAudioMixerPlatformInterface* InAudioMixerPlatform |
Destructors
| Type | Name | Description | |
|---|---|---|---|
Functions
| Type | Name | Description | |
|---|---|---|---|
| void | AddEnvelopeFollowerDelegate
(
USoundSubmix* InSubmix, |
||
| void | AddMainSubmixEffect
(
FSoundEffectSubmixPtr SoundEffect |
Add submix effect to main submix. | |
| void | AddMasterSubmixEffect
(
FSoundEffectSubmixPtr SoundEffect |
Renamed Main submix: these functions will be deprecated in a future release. | |
| FPatchOutputStrongPtr | AddPatchForSubmix
(
uint32 InObjectId, |
||
| void | AddReferencedObjects
(
FReferenceCollector& Collector |
||
| void | AddSpectralAnalysisDelegate
(
USoundSubmix* InSubmix, |
||
| int32 | AddSubmixEffect
(
USoundSubmix* InSoundSubmix, |
Add submix effect to given submix. | |
| void | AudioRenderThreadCommand
(
TFunction< void()> Command |
Pushes the command to a audio render thread command queue to be executed on render thread. | |
| void | |||
| void | Functions which check the thread it's called on and helps make sure functions are called from correct threads. | ||
| void | Clear all submix effects from main submix. | ||
| void | |||
| void | ClearSubmixEffectChainOverride
(
USoundSubmix* InSoundSubmix, |
||
| void | ClearSubmixEffects
(
USoundSubmix* InSoundSubmix |
Clear all submix effects from given submix. | |
| void | CountBytes
(
FArchive& Ar |
||
| FAudioEffectsManager * | |||
| FSoundSource * | |||
| void | CreateSynchronizedAudioTaskQueue
(
AudioTaskQueueId QueueId |
Creates a queue for audio decode requests with a specific Id. | |
| void | DestroySynchronizedAudioTaskQueue
(
AudioTaskQueueId QueueId, |
Destroys an audio decode task queue. Tasks currently queued up are optionally started. | |
| bool | |||
| void | DrawSubmixes
(
FOutputDevice& InOutput, |
Debug Commands. | |
| void | |||
| void | FadeIn () |
||
| void | FadeOut () |
||
| FMixerSubmixPtr | FindSubmixInstanceByObjectId
(
uint32 InObjectId |
||
| void | FlushAudioRenderingCommands
(
bool bPumpSynchronously |
||
| void | FlushExtended
(
UWorld* WorldToFlush, |
||
| void | GameThreadMPSCCommand
(
TFunction< void()> InCommand |
Pushes the command to a MPSC queue to be executed on the game thread. | |
| void | Get2DChannelMap
(
bool bIsVorbis, |
||
| void | Get2DChannelMap
(
bool bIsVorbis, |
Builds a channel gain matrix for a non-spatialized source. The non-static variation of this function queries AudioMixerDevice->NumOutputChannels directly which may not be thread safe. | |
| void | Get3DChannelMap
(
const int32 InSubmixNumChannels, |
Builds a 3D channel map for a spatialized source. | |
| double | |||
| void | GetAudioDeviceList
(
TArray< FString >& OutAudioDeviceNames |
||
| IAudioLinkFactory * | AudioLink. | ||
| IAudioMixerPlatformInterface * | Retrieve a pointer to the currently active platform. Only use this if you know what you are doing. The returned IAudioMixerPlatformInterface will only be alive as long as this FMixerDevice is alive. | ||
| double | |||
| double | Audio thread tick timing relative to audio render thread timing. | ||
| double | GetAudioTime () |
||
| FMixerSubmixWeakPtr | |||
| const TArray< EAudioMixerChannel::Type > & | Returns the channel array for the given submix channel type. | ||
| bool | GetCurrentSourceEffectChain
(
const uint32 SourceEffectChainId, |
||
| const FChannelPositionInfo * | Retrieves spherical locations of channels for a given submix format. | ||
| TArray< Audio::FChannelPositionInfo > * | GetDefaultPositionMap
(
int32 NumChannels |
||
| int32 | |||
| int32 | |||
| FMixerSubmixWeakPtr | GetEQSubmix () |
||
| ISoundfieldFactory * | GetFactoryForSubmixInstance
(
USoundSubmix* SoundSubmix |
If SoundSubmix is a soundfield submix, this will return the factory used to encode source audio to it's soundfield format. | |
| ISoundfieldFactory * | GetFactoryForSubmixInstance
(
FMixerSubmixWeakPtr& SoundSubmixPtr |
||
| double | |||
| const TArray< FTransform > * | Retrieves the listener transforms. | ||
| void | GetMagnitudesForFrequencies
(
USoundSubmix* InSubmix, |
||
| FMixerSubmixWeakPtr | |||
| USoundSubmix & | |||
| FMixerSubmixWeakPtr | |||
| FMixerSubmixWeakPtr | |||
| FMixerSubmixWeakPtr | |||
| FMixerSourceVoice * | Public Functions. | ||
| EMonoChannelUpmixMethod | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| int32 | |||
| void | GetPhasesForFrequencies
(
USoundSubmix* InSubmix, |
||
| const FAudioPlatformDeviceInfo & | |||
| FAudioPlatformSettings | |||
| FString | |||
| FMixerSubmixWeakPtr | |||
| FMixerSourceManager * | |||
| const FMixerSourceManager * | |||
| FMixerSubmixWeakPtr | GetSubmixInstance
(
const USoundSubmixBase* SoundSubmix |
||
| bool | HasCompressedAudioInfoClass
(
USoundWave* SoundWave |
||
| bool | |||
| void | |||
| bool | |||
| bool | IsEndpointSubmix
(
const USoundSubmixBase* InSubmix |
||
| bool | |||
| bool | Audio Device Properties. | ||
| int | KickQueuedTasks
(
AudioTaskQueueId QueueId |
"Kicks" all of the audio decode tasks currentlyt in the queue. | |
| FPatchOutputStrongPtr | MakePatch
(
int32 InFrames, |
||
| void | |||
| void | OnListenerUpdated
(
const TArray< FListener >& InListeners |
||
| bool | OnProcessAudioStream
(
FAlignedFloatBuffer& OutputBuffer |
||
| void | PauseRecording
(
USoundSubmix* InSubmix |
||
| void | RegisterSoundSubmix
(
USoundSubmixBase* SoundSubmix, |
||
| void | RegisterSubmixBufferListener
(
TSharedRef< ISubmixBufferListener, ESPMode::ThreadSafe > InSubmixBufferListener, |
||
| void | RegisterSubmixBufferListener
(
ISubmixBufferListener* InSubmixBufferListener, |
Submix buffer listener callbacks | |
| void | ReleaseMixerSourceVoice
(
FMixerSourceVoice* InSourceVoice |
||
| void | RemoveEnvelopeFollowerDelegate
(
USoundSubmix* InSubmix, |
||
| void | RemoveMainSubmixEffect
(
uint32 SubmixEffectId |
Remove submix effect from main submix. | |
| void | RemoveMasterSubmixEffect
(
uint32 SubmixEffectId |
||
| void | RemoveSpectralAnalysisDelegate
(
USoundSubmix* InSubmix, |
||
| void | RemoveSubmixEffect
(
USoundSubmix* InSoundSubmix, |
Remove submix effect to given submix. | |
| void | RemoveSubmixEffectAtIndex
(
USoundSubmix* InSoundSubmix, |
Remove submix effect at the given submix chain index. | |
| void | ReplaceSoundEffectSubmix
(
USoundSubmix* InSoundSubmix, |
Replace the submix effect of the given submix at the submix chain index with the new submix effect id and submix instance. | |
| void | |||
| void | ResumeRecording
(
USoundSubmix* InSubmix |
||
| void | SetSubmixAutoDisable
(
USoundSubmix* InSoundSubmix, |
Submix auto-disable setteings. | |
| void | SetSubmixAutoDisableTime
(
USoundSubmix* InSoundSubmix, |
||
| void | SetSubmixDryLevel
(
USoundSubmix* InSoundSubmix, |
||
| void | SetSubmixEffectChainOverride
(
USoundSubmix* InSoundSubmix, |
Submix effect chain override settings. | |
| void | SetSubmixModulationBaseLevels
(
USoundSubmix* InSoundSubmix, |
||
| void | SetSubmixOutputVolume
(
USoundSubmix* InSoundSubmix, |
||
| void | SetSubmixWetDryLevel
(
USoundSubmix* InSoundSubmix, |
||
| void | SetSubmixWetLevel
(
USoundSubmix* InSoundSubmix, |
||
| void | StartEnvelopeFollowing
(
USoundSubmix* InSubmix |
Submix envelope following. | |
| void | StartRecording
(
USoundSubmix* InSubmix, |
Submix recording callbacks: | |
| void | StartSpectrumAnalysis
(
USoundSubmix* InSubmix, |
Submix Spectrum Analysis. | |
| void | StopEnvelopeFollowing
(
USoundSubmix* InSubmix |
||
| Audio::FAlignedFloatBuffer & | StopRecording
(
USoundSubmix* InSubmix, |
||
| void | StopSpectrumAnalysis
(
USoundSubmix* InSubmix |
||
| bool | |||
| void | |||
| void | |||
| void | UnregisterSoundSubmix
(
const USoundSubmixBase* SoundSubmix, |
||
| void | UnregisterSubmixBufferListener
(
ISubmixBufferListener* InSubmixBufferListener, |
||
| void | UnregisterSubmixBufferListener
(
TSharedRef< ISubmixBufferListener, ESPMode::ThreadSafe > InSubmixBufferListener, |
This is optional, and should only be used to manually unregister before the ISubmixBufferListener is getting destroyed (do not call this in the destructor of ISubmixBufferListener or derived classes) | |
| void | |||
| void | |||
| void | |||
| void | |||
| void | UpdateSourceEffectChain
(
const uint32 SourceEffectChainId, |
Updates the source effect chain (using unique object id). | |
| void | UpdateSubmixModulationSettings
(
USoundSubmix* InSoundSubmix, |
Submix Modulation Settings. | |
| void | UpdateSubmixProperties
(
USoundSubmixBase* InSubmix |
Submix dry/wet settings. | |
| bool | ValidateAPICall
(
const TCHAR* Function, |