i used this code logic but it dont work any idea
include “AudioCaptureActor.h”
include “AudioCapture.h” // Required for UAudioCapture
AAudioCaptureActor::AAudioCaptureActor()
{
PrimaryActorTick.bCanEverTick = false;
}
void AAudioCaptureActor::BeginPlay()
{
Super::BeginPlay();
// 1. Create the Audio Capture object
AudioCapture = NewObject<UAudioCapture>();
if (AudioCapture)
{
// 2. Bind the callback function to receive the audio stream
// Depending on your UE version, this might use a standard delegate macro or a lambda
AudioCapture->AddGeneratorDelegate(
FOnAudioGenerate::CreateUObject(this, &AAudioCaptureActor::OnAudioGenerate)
);
// 3. Open the default microphone and start capturing
AudioCapture->OpenDefaultAudioStream();
AudioCapture->StartCapturingAudio();
}
}
// 4. This function triggers automatically whenever the microphone picks up new audio data
void AAudioCaptureActor::OnAudioGenerate(const float* InAudio, int32 NumSamples)
{
// Append the incoming audio data to our buffer for processing
AudioBuffer.Append(InAudio, NumSamples);
// You can process 'InAudio' here (e.g., analyze frequencies, network transmission, visualizers)
}