A class responsible for capturing audio in a loopback mode. More...
#include <ST_AudioCaptureLoopback.h>
Public Member Functions | |
virtual EAudioIOType | GetAudioIOType () const override |
Gets the type of audio I/O for this capture device. | |
![]() | |
bool | IsCapturing () const |
Checks if audio capture is currently active. | |
FEncoderConfig | GetEncoderConfig () const |
Returns the current capture encoder configuration. | |
virtual EST_SampleFormat | GetAudioFormat () const override |
Returns the current audio format. | |
![]() | |
UST_AudioIOBase () | |
~UST_AudioIOBase () | |
bool | Activate () |
void | Deactivate () |
FAudioIOConfig | GetAudioIOConfig () const |
FFFTIOData | GetFFTIOData () const |
bool | RegisterSampler (UObject *Sampler, bool bSamplerActivates=false) |
void | DeregisterSampler (UObject *Sampler, bool bZeroSamplersDeactivates=false) |
template<typename InterfaceType> | |
bool | ContainsInterface () const |
FIntPoint | GetIOId () const |
Protected Member Functions | |
virtual bool | InitializeAudioIO () override |
Initializes the audio IO system for loopback audio capture. | |
![]() | |
virtual void | DeinitializeAudioIO () override |
Deinitializes audio IO specific to capture. | |
virtual ma_encoder * | GetCaptureEncoder () const override |
Provides access to the active capture encoder. | |
void | SetIsCapturing (bool bValue) |
Sets the internal capturing state. | |
![]() | |
virtual void | Initialize (FSubsystemCollectionBase &Collection) override |
virtual void | Deinitialize () override |
void | BuildFFTIOData (uint32 PeriodSizeInFrames, ma_format Format, uint32 SampleRate, uint32 Channels) |
void | DeinitializeFFT () |
virtual ma_decoder * | GetPlaybackDecoder () const |
void | GetDeviceInfo (EAudioIOType AudioIOType, FString FindDeviceName) |
Additional Inherited Members | |
![]() | |
static void | MA_CaptureCallBack (ma_device *pDevice, void *pOutput, const void *pInput, ma_uint32 frameCount) |
Static callback for Miniaudio capture device. | |
![]() | |
static void | MA_DataOrganiser (ma_device *pDevice, void *pSamples, uint64 PeriodSizeInFrames, ma_format Format, uint32 Channels) |
![]() | |
FCriticalSection | AudioBufferLock |
void * | SampledAudioBuffers [BufferCount] = { nullptr, nullptr } |
void * | CurrentAudioBuffer = nullptr |
std::atomic< uint32 > | ReadIndex |
std::atomic< uint32 > | WriteIndex |
FOnAudioIOStatusChanged | OnAudioIOStatusChanged |
FOnRawMagnitudesReady | OnRawMagnitudesReady |
FOnFrequencyBandsReady | OnFrequencyBandsReady |
FOnAmplitudesReady | OnAmplitudesReady |
FOnPitchesReady | OnPitchesReady |
FOnBeatDetected | OnBeatDetected |
![]() | |
static constexpr uint32 | BufferCount = 2 |
![]() | |
ma_device * | CaptureDevice = nullptr |
ma_encoder * | CaptureEncoder = nullptr |
![]() | |
bool | bActivated = false |
bool | bIsProcessingFFT = false |
FCriticalSection | SamplerRegistrationMutex |
TArray< UObject * > | RegisteredSamplers |
ma_device_id * | pDeviceID = NULL |
Pointer to the selected device ID. | |
ma_device_info * | pPlaybackDeviceInfos = nullptr |
Playback device information. | |
ma_device_info * | pCaptureDeviceInfos = nullptr |
Capture device information. | |
ma_uint32 | playbackDeviceCount = 0 |
Number of playback devices found. | |
ma_uint32 | captureDeviceCount = 0 |
Number of capture devices found. | |
FFFTIOData | CachedFFTIOData |
Cached FFT IO data. | |
FAudioIOConfig | CachedAudioIOConfig |
Cached audio IO configuration. | |
A class responsible for capturing audio in a loopback mode.
Inherits from UST_AudioIOCaptureBase and overrides audio IO functionality for capturing audio in a loopback configuration.
|
inlineoverridevirtual |
Gets the type of audio I/O for this capture device.
Override to return the specific type for loopback audio capture.
Reimplemented from UST_AudioIOBase.
|
overrideprotectedvirtual |
Initializes the audio IO system for loopback audio capture.
This function sets up the necessary configuration and starts the loopback capture process. It overrides the base class method.
Reimplemented from UST_AudioIOBase.