UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioDeviceNotificationSubsystem.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
6#include "Engine/Engine.h"
7#include "AudioMixer.h"
9#include "AudioDeviceNotificationSubsystem.generated.h"
10
14UENUM(BlueprintType)
23
27UENUM(BlueprintType)
37
41
45
49UCLASS(MinimalAPI)
51 , public Audio::IAudioMixerDeviceChangedListener
52{
54
55public:
56
58
60
61 //~ Begin UEngineSubsystem Interface
63 AUDIOMIXER_API virtual void Deinitialize() override;
64 //~ End UEngineSubsystem Interface
65
66 //~ Begin IAudioMixerDeviceChangedListener Interface
67 AUDIOMIXER_API virtual void OnDefaultCaptureDeviceChanged(const Audio::EAudioDeviceRole InAudioDeviceRole, const FString& DeviceId) override;
68 AUDIOMIXER_API virtual void OnDefaultRenderDeviceChanged(const Audio::EAudioDeviceRole InAudioDeviceRole, const FString& DeviceId) override;
69 AUDIOMIXER_API virtual void OnDeviceAdded(const FString& DeviceId, bool bIsRenderDevice) override;
70 AUDIOMIXER_API virtual void OnDeviceRemoved(const FString& DeviceId, bool bIsRenderDevice) override;
71 AUDIOMIXER_API virtual void OnDeviceStateChanged(const FString& DeviceId, const Audio::EAudioDeviceState InState, bool bIsRenderDevice) override;
72 //~ End IAudioMixerDeviceChangedListener Interface
73
74 AUDIOMIXER_API virtual void OnDeviceSwitched(const FString& DeviceId);
75
77 UPROPERTY(BlueprintAssignable, Category = "Audio Delegates")
78 FOnAudioDefaultDeviceChanged DefaultCaptureDeviceChanged;
80 FOnAudioDefaultDeviceChangedNative DefaultCaptureDeviceChangedNative;
81
83 UPROPERTY(BlueprintAssignable, Category = "Audio Delegates")
84 FOnAudioDefaultDeviceChanged DefaultRenderDeviceChanged;
86 FOnAudioDefaultDeviceChangedNative DefaultRenderDeviceChangedNative;
87
89 UPROPERTY(BlueprintAssignable, Category = "Audio Delegates")
92 FOnAudioDeviceChangeNative DeviceAddedNative;
93
95 UPROPERTY(BlueprintAssignable, Category = "Audio Delegates")
96 FOnAudioDeviceChange DeviceRemoved;
98 FOnAudioDeviceChangeNative DeviceRemovedNative;
99
101 UPROPERTY(BlueprintAssignable, Category = "Audio Delegates")
102 FOnAudioDeviceStateChanged DeviceStateChanged;
104 FOnAudioDeviceStateChangedNative DeviceStateChangedNative;
105
107 UPROPERTY(BlueprintAssignable, Category = "Audio Delegates")
108 FOnAudioDeviceChange DeviceSwitched;
110 FOnAudioDeviceChangeNative DeviceSwitchedNative;
111
113
114 AUDIOMIXER_API EAudioDeviceChangedRole GetDeviceChangedRole(Audio::EAudioDeviceRole InRole) const;
115 AUDIOMIXER_API EAudioDeviceChangedState GetDeviceChangedState(Audio::EAudioDeviceState InState) const;
116};
117
EAudioDeviceChangedRole
Definition AudioDeviceNotificationSubsystem.h:16
EAudioDeviceChangedState
Definition AudioDeviceNotificationSubsystem.h:29
ENGINE_API class UEngine * GEngine
Definition UnrealEngine.cpp:427
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param1Name, Param2Type, Param2Name)
Definition DelegateCombinations.h:62
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type, Param1Name)
Definition DelegateCombinations.h:53
#define UPROPERTY(...)
UObject definition macros.
Definition ObjectMacros.h:744
#define GENERATED_BODY(...)
Definition ObjectMacros.h:765
#define UCLASS(...)
Definition ObjectMacros.h:776
#define UENUM(...)
Definition ObjectMacros.h:749
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition SubsystemCollection.h:15
Definition AudioDeviceNotificationSubsystem.h:52
static UAudioDeviceNotificationSubsystem * Get()
Definition AudioDeviceNotificationSubsystem.h:59
virtual ~UAudioDeviceNotificationSubsystem()=default
Definition EngineSubsystem.h:22
TSubsystemClass * GetEngineSubsystem() const
Definition Engine.h:3779
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
EAudioDeviceState
Definition AudioMixer.h:340
EAudioDeviceRole
Definition AudioMixer.h:331