UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
AudioCaptureAudioUnit.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "AudioCaptureCore.h"
5#include <AudioToolbox/AudioToolbox.h>
6#include <AudioUnit/AudioUnit.h>
7
8namespace Audio
9{
11 {
12 public:
14
15 virtual bool GetCaptureDeviceInfo(FCaptureDeviceInfo& OutInfo, int32 DeviceIndex) override;
17 virtual bool CloseStream() override;
18 virtual bool StartStream() override;
19 virtual bool StopStream() override;
20 virtual bool AbortStream() override;
21 virtual bool GetStreamTime(double& OutStreamTime) override;
22 virtual int32 GetSampleRate() const override { return SampleRate; }
23 virtual bool IsStreamOpen() const override;
24 virtual bool IsCapturing() const override;
25 virtual void OnAudioCapture(void* InBuffer, uint32 InBufferFrames, double StreamTime, bool bOverflow) override;
27 virtual void SetHardwareFeatureEnabled(EHardwareInputFeature FeatureType, bool bEnabled);
28
30
31 private:
32 void AllocateBuffer(int SizeInBytes);
33
35
37 int32 NumChannels;
38 int32 SampleRate;
39 TArray<uint8> CaptureBuffer;
40 int BufferSize = 0;
41 bool bIsStreamOpen;
42 bool bHasCaptureStarted;
43 bool bIsHardwareVoiceProcessingSupported;
44 };
45}
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 AudioCaptureAudioUnit.h:11
virtual bool StopStream() override
Definition AudioCaptureAudioUnit.cpp:251
virtual void OnAudioCapture(void *InBuffer, uint32 InBufferFrames, double StreamTime, bool bOverflow) override
Definition AudioCaptureAudioUnit.cpp:280
virtual bool AbortStream() override
Definition AudioCaptureAudioUnit.cpp:257
virtual bool GetStreamTime(double &OutStreamTime) override
Definition AudioCaptureAudioUnit.cpp:264
virtual int32 GetSampleRate() const override
Definition AudioCaptureAudioUnit.h:22
virtual bool OpenAudioCaptureStream(const FAudioCaptureDeviceParams &InParams, FOnAudioCaptureFunction InOnCapture, uint32 NumFramesDesired) override
Definition AudioCaptureAudioUnit.cpp:112
virtual bool CloseStream() override
Definition AudioCaptureAudioUnit.cpp:236
virtual bool IsCapturing() const override
Definition AudioCaptureAudioUnit.cpp:275
virtual void SetHardwareFeatureEnabled(EHardwareInputFeature FeatureType, bool bEnabled)
Definition AudioCaptureAudioUnit.cpp:295
virtual bool GetCaptureDeviceInfo(FCaptureDeviceInfo &OutInfo, int32 DeviceIndex) override
Definition AudioCaptureAudioUnit.cpp:82
virtual bool GetInputDevicesAvailable(TArray< FCaptureDeviceInfo > &OutDevices) override
Definition AudioCaptureAudioUnit.cpp:285
OSStatus OnCaptureCallback(AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
Definition AudioCaptureAudioUnit.cpp:32
virtual bool StartStream() override
Definition AudioCaptureAudioUnit.cpp:245
virtual bool IsStreamOpen() const override
Definition AudioCaptureAudioUnit.cpp:270
FAudioCaptureAudioUnitStream()
Definition AudioCaptureAudioUnit.cpp:12
Definition AudioCaptureDeviceInterface.h:65
Definition Array.h:670
NO_LOGGING.
Definition AudioMixerPlatformAndroid.cpp:53
EHardwareInputFeature
Definition AudioCaptureCore.h:21
Definition AudioCaptureDeviceInterface.h:46
Definition AudioCaptureDeviceInterface.h:28