UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioCaptureInternal.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 "Misc/App.h"
9
10namespace Audio
11{
12 // Null implementation for compiler
14 {
15 public:
17
18 // Begin IAudioCaptureStream
19 virtual bool GetCaptureDeviceInfo(FCaptureDeviceInfo& OutInfo, int32 DeviceIndex) override { return false; }
21 virtual bool CloseStream() override { return false; }
22 virtual bool StartStream() override { return false; }
23 virtual bool StopStream() override { return false; }
24 virtual bool AbortStream() override { return false; }
25 virtual bool GetStreamTime(double& OutStreamTime) override { return false; }
26 virtual int32 GetSampleRate() const override { return 0; }
27 virtual bool IsStreamOpen() const override { return false; }
28 virtual bool IsCapturing() const override { return false; }
29 virtual void OnAudioCapture(void* InBuffer, uint32 InBufferFrames, double StreamTime, bool bOverflow) override {}
30 virtual bool GetInputDevicesAvailable(TArray<FCaptureDeviceInfo>& OutDevices) override { return false; }
31 // ~End IAudioCaptureStream
32 };
33
34 FORCEINLINE TUniquePtr<IAudioCaptureStream> FAudioCapture::CreateImpl()
35 {
39
40 // For now, just return the first audio capture stream implemented. We can make this configurable at a later point.
42 {
43 return AudioCaptureStreamFactories[0]->CreateNewAudioCaptureStream();
44 }
45 else
46 {
47 UE_LOG(LogAudioCaptureCore, Display, TEXT("No Audio Capture implementations found. Audio input will be silent."));
48 return TUniquePtr<IAudioCaptureStream>(new FNullAudioCaptureDevice());
49 }
50 }
51
52} // namespace audio
#define FORCEINLINE
Definition AndroidPlatform.h:140
#define TEXT(x)
Definition Platform.h:1272
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
DIRECTLINK_API Display
Definition DirectLinkLog.h:8
#define UE_LOG(CategoryName, Verbosity, Format,...)
Definition LogMacros.h:270
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition AudioCaptureInternal.h:14
virtual bool GetCaptureDeviceInfo(FCaptureDeviceInfo &OutInfo, int32 DeviceIndex) override
Definition AudioCaptureInternal.h:19
virtual bool IsCapturing() const override
Definition AudioCaptureInternal.h:28
virtual void OnAudioCapture(void *InBuffer, uint32 InBufferFrames, double StreamTime, bool bOverflow) override
Definition AudioCaptureInternal.h:29
virtual bool CloseStream() override
Definition AudioCaptureInternal.h:21
virtual int32 GetSampleRate() const override
Definition AudioCaptureInternal.h:26
virtual bool StopStream() override
Definition AudioCaptureInternal.h:23
virtual bool AbortStream() override
Definition AudioCaptureInternal.h:24
virtual bool GetStreamTime(double &OutStreamTime) override
Definition AudioCaptureInternal.h:25
virtual bool StartStream() override
Definition AudioCaptureInternal.h:22
FNullAudioCaptureDevice()
Definition AudioCaptureInternal.h:16
virtual bool IsStreamOpen() const override
Definition AudioCaptureInternal.h:27
virtual bool GetInputDevicesAvailable(TArray< FCaptureDeviceInfo > &OutDevices) override
Definition AudioCaptureInternal.h:30
virtual bool OpenAudioCaptureStream(const FAudioCaptureDeviceParams &InParams, FOnAudioCaptureFunction OnCapture, uint32 NumFramesDesired) override
Definition AudioCaptureInternal.h:20
static FName GetModularFeatureName()
Definition AudioCaptureDeviceInterface.h:132
Definition AudioCaptureDeviceInterface.h:65
static INLINE_CANEVERRENDER bool CanEverRenderAudio()
Definition App.h:442
static CORE_API IModularFeatures & Get()
Definition ModularFeatures.cpp:9
virtual void UnlockModularFeatureList()=0
TArray< TModularFeature * > GetModularFeatureImplementations(const FName Type)
Definition IModularFeatures.h:68
virtual void LockModularFeatureList()=0
Definition Array.h:670
Definition UniquePtr.h:107
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
Definition AudioCaptureDeviceInterface.h:46
Definition AudioCaptureDeviceInterface.h:28