UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
IAudioMixerWasapiDeviceManager.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AudioMixer.h"
6#include "Misc/ScopeRWLock.h"
7#include "WasapiAudioFormat.h"
8
11
13
15#include <mmdeviceapi.h> // IMMNotificationClient
16#include <audiopolicy.h> // IAudioSessionEvents
18
21
23
24namespace Audio
25{
59
64 {
65 public:
66
69
71 virtual bool TeardownHardware() = 0;
72 virtual bool IsInitialized() const = 0;
73 virtual int32 GetNumDirectOutChannels() const = 0;
74 virtual int32 GetNumFrames(const int32 InNumRequestedFrames) const = 0;
76 virtual bool CloseAudioStream() = 0;
77 virtual bool StartAudioStream() = 0;
78 virtual bool StopAudioStream() = 0;
79 virtual void SubmitBuffer(const uint8* InBuffer, const SIZE_T InNumFrames) = 0;
81 };
82
88 {
89 public:
90 virtual ~IDeviceRenderCallback() = default;
91
92 virtual void DeviceRenderCallback() = 0;
93 };
94
95}
FPlatformTypes::SIZE_T SIZE_T
An unsigned integer the same size as a pointer, the same as UPTRINT.
Definition Platform.h:1150
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_DELEGATE(DelegateName)
Definition DelegateCombinations.h:20
#define THIRD_PARTY_INCLUDES_START
Definition GenericPlatformCompilerPreSetup.h:63
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition IAudioMixerWasapiDeviceManager.h:64
virtual int32 GetNumDirectOutChannels() const =0
virtual bool OpenAudioStream(const TArray< FWasapiRenderStreamParams > &InParams)=0
virtual int32 GetNumFrames(const int32 InNumRequestedFrames) const =0
virtual ~IAudioMixerWasapiDeviceManager()=default
virtual void SubmitDirectOutBuffer(const int32 InDirectOutIndex, const FAlignedFloatBuffer &InBuffer)=0
virtual void SubmitBuffer(const uint8 *InBuffer, const SIZE_T InNumFrames)=0
virtual bool IsInitialized() const =0
virtual bool InitializeHardware(const TArray< FWasapiRenderStreamParams > &InParams, const TFunction< void()> &InCallback)=0
Definition IAudioMixerWasapiDeviceManager.h:88
virtual void DeviceRenderCallback()=0
virtual ~IDeviceRenderCallback()=default
Definition Array.h:670
Definition COMPointer.h:19
Definition AndroidPlatformMisc.h:14
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition Voronoi.cpp:10
Definition AudioMixer.h:152
Definition IAudioMixerWasapiDeviceManager.h:28
uint32 NumFrames
Definition IAudioMixerWasapiDeviceManager.h:36
FWasapiRenderStreamParams(const TComPtr< IMMDevice > &InMMDevice, const FAudioPlatformDeviceInfo &InDeviceInfo, const uint32 InNumFrames, const uint32 InNumBuffers, const uint32 InSampleRate)
Definition IAudioMixerWasapiDeviceManager.h:46
TComPtr< IMMDevice > MMDevice
Definition IAudioMixerWasapiDeviceManager.h:30
FAudioPlatformDeviceInfo HardwareDeviceInfo
Definition IAudioMixerWasapiDeviceManager.h:33
int32 NumBuffers
Definition IAudioMixerWasapiDeviceManager.h:39
uint32 SampleRate
Definition IAudioMixerWasapiDeviceManager.h:42