Wilot

Yeni üye
31 Eki 2024
14
0
1
void UAudioCaptureFunctionLibrary::OnAudioCaptureCallBack(const float* AudioData, int32 NumFrames, int32 NumChannels)Bu kısımda hata alıyorum Class UAudioCaptureFunctionLibrary has no member 'OnAudioCaptureCallBack' of type void(const float* AudioData, int32 NumFrames, int32 NumChannels)şeklinde, kütüphane içerisinde sanırım fonksiyonu bulamıyor yanlış veya eksik kütüphane olabilir gibi düşünüyorum. Amacım bir node tasarlayarak 2 exec pininden biir tanesini mikrofon kaydını açıp diğeri mikrofon kaydını durdurması, bunun için burada ne kullanabilirim nasıl yapabilirim yardımcı olabilecek var mı?


UE5.5.3 kullanıyorum
 
void UAudioCaptureFunctionLibrary::OnAudioCaptureCallBack(const float* AudioData, int32 NumFrames, int32 NumChannels)Bu kısımda hata alıyorum Class UAudioCaptureFunctionLibrary has no member 'OnAudioCaptureCallBack' of type void(const float* AudioData, int32 NumFrames, int32 NumChannels)şeklinde, kütüphane içerisinde sanırım fonksiyonu bulamıyor yanlış veya eksik kütüphane olabilir gibi düşünüyorum. Amacım bir node tasarlayarak 2 exec pininden biir tanesini mikrofon kaydını açıp diğeri mikrofon kaydını durdurması, bunun için burada ne kullanabilirim nasıl yapabilirim yardımcı olabilecek var mı?


UE5.5.3 kullanıyorum
#include "AudioCapture.h"
#include "AudioCaptureFunctionLibrary.h"
#include "AudioCaptureBlueprintLibrary.h"


UBlueprintFunctionLibrary

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "AudioCapture.h"
#include "AudioCaptureNode.generated.h"

UCLASS()
class YOURPROJECT_API UAudioCaptureNode : public UBlueprintFunctionLibrary
{
GENERATED_BODY()

public:

/** Mikrofon kaydını başlatır */
UFUNCTION(BlueprintCallable, Category = "Audio Capture")
static void StartAudioCapture();

/** Mikrofon kaydını durdurur */
UFUNCTION(BlueprintCallable, Category = "Audio Capture")
static void StopAudioCapture();

private:
static TSharedPtr<FAudioCapture> AudioCaptureInstance;
};



AudioCaptureNode.cpp:
#include "AudioCaptureNode.h"

TSharedPtr<FAudioCapture> UAudioCaptureNode::AudioCaptureInstance = nullptr;

void UAudioCaptureNode::StartAudioCapture()
{
if (!AudioCaptureInstance.IsValid())
{
AudioCaptureInstance = MakeShareable(new FAudioCapture());

if (AudioCaptureInstance->IsCapturing())
{
UE_LOG(LogTemp, Warning, TEXT("Audio capture is already running!"));
return;
}

if (AudioCaptureInstance->OpenDefaultCaptureStream())
{
AudioCaptureInstance->StartCapturing();
UE_LOG(LogTemp, Warning, TEXT("Started audio capture!"));
}
else
{
UE_LOG(LogTemp, Error, TEXT("Failed to open audio capture stream!"));
}
}
}

void UAudioCaptureNode::StopAudioCapture()
{
if (AudioCaptureInstance.IsValid() && AudioCaptureInstance->IsCapturing())
{
AudioCaptureInstance->StopCapturing();
UE_LOG(LogTemp, Warning, TEXT("Stopped audio capture!"));
}
}



Bu kodları ekledikten sonra, Blueprint içerisinde iki yeni Node oluşacaktır:

  • Start Audio Capture → Mikrofon kaydını başlatır.
  • Stop Audio Capture → Mikrofon kaydını durdurur.
 
#include "AudioCapture.h"
#include "AudioCaptureFunctionLibrary.h"
#include "AudioCaptureBlueprintLibrary.h"


UBlueprintFunctionLibrary

#pragma once

#include "CoreMinimal.h"
#include "Kismet/BlueprintFunctionLibrary.h"
#include "AudioCapture.h"
#include "AudioCaptureNode.generated.h"

UCLASS()
class YOURPROJECT_API UAudioCaptureNode : public UBlueprintFunctionLibrary
{
GENERATED_BODY()

public:

/** Mikrofon kaydını başlatır */
UFUNCTION(BlueprintCallable, Category = "Audio Capture")
static void StartAudioCapture();

/** Mikrofon kaydını durdurur */
UFUNCTION(BlueprintCallable, Category = "Audio Capture")
static void StopAudioCapture();

private:
static TSharedPtr<FAudioCapture> AudioCaptureInstance;
};



AudioCaptureNode.cpp:
#include "AudioCaptureNode.h"

TSharedPtr<FAudioCapture> UAudioCaptureNode::AudioCaptureInstance = nullptr;

void UAudioCaptureNode::StartAudioCapture()
{
if (!AudioCaptureInstance.IsValid())
{
AudioCaptureInstance = MakeShareable(new FAudioCapture());

if (AudioCaptureInstance->IsCapturing())
{
UE_LOG(LogTemp, Warning, TEXT("Audio capture is already running!"));
return;
}

if (AudioCaptureInstance->OpenDefaultCaptureStream())
{
AudioCaptureInstance->StartCapturing();
UE_LOG(LogTemp, Warning, TEXT("Started audio capture!"));
}
else
{
UE_LOG(LogTemp, Error, TEXT("Failed to open audio capture stream!"));
}
}
}

void UAudioCaptureNode::StopAudioCapture()
{
if (AudioCaptureInstance.IsValid() && AudioCaptureInstance->IsCapturing())
{
AudioCaptureInstance->StopCapturing();
UE_LOG(LogTemp, Warning, TEXT("Stopped audio capture!"));
}
}



Bu kodları ekledikten sonra, Blueprint içerisinde iki yeni Node oluşacaktır:

  • Start Audio Capture → Mikrofon kaydını başlatır.
  • Stop Audio Capture → Mikrofon kaydını durdurur.
Bu Kodları denediğimde UnrealBuildTool failed with exit code 0x00000006 şeklinde hata veriyor. Ayrıca fotoğraftaki gibi hatalarda gösteriyor1739186884535.png1739186894793.png