UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WasapiInputStream.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "AudioCaptureCore.h"
6#include "WasapiAudioFormat.h"
7
10
12
14#include <AudioClient.h>
15#include <comdef.h>
16#include <Mmdeviceapi.h>
18
21
22
23namespace Audio
24{
29
34 {
35 public:
39
45
47
50
52 bool IsInitialized() const;
53
55 void StartStream();
57 void StopStream();
58
60 bool WaitOnBuffer() const;
62 bool CaptureAudioFrames();
63
69 double GetStreamPosition() const;
70
71 private:
72
74 TComPtr<IAudioClient3> AudioClient;
76 TComPtr<IAudioCaptureClient> CaptureClient;
77
79 FWasapiAudioFormat AudioFormat;
80
82 bool bIsInitialized = false;
83
85 uint32 NumFramesPerBuffer = 0;
87 std::atomic<double> DevicePosition = 0.0;
92 HANDLE EventHandle = nullptr;
93
95 FWasapiOnAudioCaptureFunction OnAudioCaptureCallback;
97 TArray<uint8> SilienceBuffer;
98
103 bool DrainInputBuffer();
104 };
105}
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define THIRD_PARTY_INCLUDES_START
Definition GenericPlatformCompilerPreSetup.h:63
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition WasapiAudioFormat.h:39
Definition WasapiInputStream.h:34
FWasapiInputStream & operator=(const FWasapiInputStream &InOther)=delete
uint32 GetBufferSizeBytes() const
Definition WasapiInputStream.cpp:154
double GetStreamPosition() const
Definition WasapiInputStream.cpp:159
void StopStream()
Definition WasapiInputStream.cpp:129
void StartStream()
Definition WasapiInputStream.cpp:116
FWasapiInputStream & operator=(FWasapiInputStream &&InOther)=delete
FWasapiInputStream(FWasapiInputStream &&InOther)=delete
FWasapiInputStream(const FWasapiInputStream &InOther)=delete
~FWasapiInputStream()
Definition WasapiInputStream.cpp:103
bool IsInitialized() const
Definition WasapiInputStream.cpp:111
bool CaptureAudioFrames()
Definition WasapiInputStream.cpp:198
bool WaitOnBuffer() const
Definition WasapiInputStream.cpp:137
uint32 GetBufferSizeFrames() const
Definition WasapiInputStream.cpp:149
Definition Array.h:670
Definition COMPointer.h:19
Definition AndroidPlatformMisc.h:14
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
TFunction< void(void *InBuffer, uint32 InNumFrames, double InStreamPosition, bool bInDiscontinuityError)> FWasapiOnAudioCaptureFunction
Definition WasapiInputStream.h:28
Definition Voronoi.cpp:10