UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WasapiStreamManager.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"
7#include "WasapiInputStream.h"
9
10
11namespace Audio
12{
19 {
20 public:
21
23
27
29
32
37
42
47
52
57
68 bool OpenStream(
69 const FString& InDeviceId,
73
75 bool IsStreamOpen() const;
76
78 void StartStream();
80 bool IsCapturing() const;
82 void StopStream();
83
85 void AbortStream();
87 void CloseStream();
88
92 double GetStreamPosition() const;
93
94 private:
96 enum class EStreamState {
97 INVALID_STATE,
98 STREAM_CLOSED,
99 STREAM_STOPPED,
100 STREAM_STOPPING,
101 STREAM_CAPTURING
102 };
103
105 EStreamState State = EStreamState::STREAM_CLOSED;
106
108 FWasapiDeviceEnumeration DeviceEnumerator;
109
112
115 };
116}
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
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition WasapiAudioFormat.h:39
Definition WasapiDeviceEnumeration.h:27
Definition WasapiStreamManager.h:19
bool OpenStream(const FString &InDeviceId, const FWasapiAudioFormat &InFormat, uint32 InNumFramesDesired, FWasapiOnAudioCaptureFunction InCallback)
Definition WasapiStreamManager.cpp:46
FWasapiStreamManager & operator=(const FWasapiStreamManager &InOther)=delete
bool IsStreamOpen() const
Definition WasapiStreamManager.cpp:75
FString GetDefaultInputDeviceId()
Definition WasapiStreamManager.cpp:16
uint32 GetStreamBufferSizeBytes() const
Definition WasapiStreamManager.cpp:128
FWasapiStreamManager()
Definition WasapiStreamManager.cpp:11
void AbortStream()
Definition WasapiStreamManager.cpp:108
void StartStream()
Definition WasapiStreamManager.cpp:80
void CloseStream()
Definition WasapiStreamManager.cpp:115
FWasapiStreamManager(const FWasapiStreamManager &InOther)=delete
bool GetDeviceIndexFromId(const FString &InDeviceId, int32 &OutDeviceIndex)
Definition WasapiStreamManager.cpp:31
double GetStreamPosition() const
Definition WasapiStreamManager.cpp:133
bool GetDeviceInfo(const FString &InDeviceId, FDeviceInfo &OutDeviceInfo)
Definition WasapiStreamManager.cpp:26
void StopStream()
Definition WasapiStreamManager.cpp:99
virtual ~FWasapiStreamManager()
Definition WasapiStreamManager.h:28
FWasapiStreamManager(FWasapiStreamManager &&InOther)=delete
FString GetDefaultOutputDeviceId()
Definition WasapiStreamManager.cpp:21
FWasapiStreamManager & operator=(FWasapiStreamManager &&InOther)=delete
bool GetInputDevicesAvailable(TArray< FDeviceInfo > &OutDevices)
Definition WasapiStreamManager.cpp:41
bool GetDeviceIdFromIndex(int32 InDeviceIndex, EDataFlow InDataFlow, FString &OutDeviceId)
Definition WasapiStreamManager.cpp:36
bool IsCapturing() const
Definition WasapiStreamManager.cpp:94
Definition Array.h:670
Definition SharedPointer.h:692
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition WasapiDeviceEnumeration.h:33