UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAudioParameterTransmitter.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "AudioParameter.h"
6#include "Containers/Array.h"
7#include "CoreTypes.h"
10#include "UObject/NameTypes.h"
11
12// Forward Declarations
13class UObject;
15
16namespace Audio
17{
19
22 {
23 // Unique ID for this audio instance.
25
26 // Audio sample rate.
27 float SampleRate = 0.0f;
28
30
31 // Audio device ID
33
34 };
35
36 // Reference collector functionality for legacy parameter system
37 // (i.e. backwards compatibility with the SoundCue system). None of this
38 // should be used by future assets supporting parameters (ex. MetaSounds)
39 // as object pointers within parameters should NOT be cached on threads
40 // other than the GameThread, utilizing a proxy methodology like MetaSounds
41 // that copies UObject data when and where necessary.
43 {
44 public:
45 virtual ~ILegacyParameterTransmitter() = default;
46
47 UE_DEPRECATED(5.6, "Use AddReferencedObjects(...) instead")
49
51 };
52
58 {
59 public:
61
62 virtual ~IParameterTransmitter() = default;
63
64 // Reset parameters which stored on the transmitter.
65 virtual void ResetParameters() {}
66
67 // Called when the active sound is deleted due to the sound finishing,
68 // being stopped, or being virtualized.
69 virtual void OnDeleteActiveSound() {}
70
71 // Return the cached parameter with the given name if it exists
72 // @return False if param not found, true if found.
73 virtual bool GetParameter(FName InName, FAudioParameter& OutParam) const = 0;
74
75 // Return reference to the cached parameter array.
76 UE_DEPRECATED(5.6, "Access to internal parameters is no longer supported")
77 virtual const TArray<FAudioParameter>& GetParameters() const = 0;
78
79 virtual void CopyParameters(TArray<FAudioParameter>& OutParameters) const = 0;
80
81 // Parameter Setters
82 virtual bool SetParameters(TArray<FAudioParameter>&& InParameters) = 0;
83
84 // Called when the active sound is virtualized
85 virtual void OnVirtualizeActiveSound() {}
86
87 // Called when the virtualized active sound is realized
88 // @param Parameters to set
90 };
91
96 {
97 public:
100
101 AUDIOEXTENSIONS_API virtual bool GetParameter(FName InName, FAudioParameter& OutParam) const override;
102 AUDIOEXTENSIONS_API virtual void ResetParameters() override;
103
104 UE_DEPRECATED(5.6, "Access to internal parameter storage is no longer supported. Use CopyParameters(...) instead")
105 AUDIOEXTENSIONS_API virtual const TArray<FAudioParameter>& GetParameters() const override;
106
108
110
112
113 AUDIOEXTENSIONS_API virtual void OnVirtualizeActiveSound() override;
114 AUDIOEXTENSIONS_API virtual void OnRealizeVirtualizedActiveSound(TArray<FAudioParameter>&& InParameters);
115 AUDIOEXTENSIONS_API bool IsVirtualized() const;
116
117 protected:
118
119 AUDIOEXTENSIONS_API void AddReferencedObjectsFromParameters(FReferenceCollector& InCollector, TArrayView<FAudioParameter> InParameters) const;
120
121 UE_DEPRECATED(5.6, "Subclasses of FParameterTransmitterBase should not access AudioParameters member directly. These will be moved to private visibility soon.")
122 TArray<FAudioParameter> AudioParameters;
123 UE_DEPRECATED(5.6, "Subclasses of FParameterTransmitterBase should not access bIsVirtualized member directly. These will be moved to private visibility soon.")
124 bool bIsVirtualized;
125
126 };
127} // namespace Audio
@ INDEX_NONE
Definition CoreMiscDefines.h:150
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition IAudioParameterTransmitter.h:96
virtual AUDIOEXTENSIONS_API ~FParameterTransmitterBase()
Definition IAudioParameterTransmitter.h:43
virtual AUDIOEXTENSIONS_API TArray< const TObjectPtr< UObject > * > GetReferencedObjects() const
Definition IAudioParameterTransmitter.cpp:10
virtual ~ILegacyParameterTransmitter()=default
virtual AUDIOEXTENSIONS_API void AddReferencedObjects(FReferenceCollector &InCollector)
Definition IAudioParameterTransmitter.cpp:15
Definition IAudioParameterTransmitter.h:58
static AUDIOEXTENSIONS_API const FName RouterName
Definition IAudioParameterTransmitter.h:60
virtual void OnDeleteActiveSound()
Definition IAudioParameterTransmitter.h:69
virtual ~IParameterTransmitter()=default
virtual void OnRealizeVirtualizedActiveSound(TArray< FAudioParameter > &&InParameters)
Definition IAudioParameterTransmitter.h:89
virtual bool GetParameter(FName InName, FAudioParameter &OutParam) const =0
virtual void ResetParameters()
Definition IAudioParameterTransmitter.h:65
Definition NameTypes.h:617
Definition UObjectGlobals.h:2492
Definition ArrayView.h:139
Definition Array.h:670
Definition Object.h:95
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
uint32 DeviceID
Definition IAudioParameterTransmitter.h:18
Definition IAudioParameterTransmitter.h:22
float SampleRate
Definition IAudioParameterTransmitter.h:27
DeviceID AudioDeviceID
Definition IAudioParameterTransmitter.h:32
TArray< FAudioParameter > DefaultParams
Definition IAudioParameterTransmitter.h:29
uint64 InstanceID
Definition IAudioParameterTransmitter.h:24
Definition AudioParameter.h:93
Definition ResourceArray.h:31
Definition ObjectPtr.h:488