Files
UnrealEngine/Engine/Source/Runtime/AudioCaptureImplementations/IOS/AudioCaptureAudioUnit/Private/AudioCaptureAudioUnitModule.cpp
2025-05-18 13:04:45 +08:00

39 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "CoreMinimal.h"
#include "AudioCaptureDeviceInterface.h"
#include "AudioCaptureAudioUnit.h"
#include "Modules/ModuleManager.h"
#include "Features/IModularFeatures.h"
namespace Audio
{
class FAudioCaptureAudioUnitFactory : public IAudioCaptureFactory
{
public:
virtual TUniquePtr<IAudioCaptureStream> CreateNewAudioCaptureStream() override
{
return TUniquePtr<IAudioCaptureStream>(new FAudioCaptureAudioUnitStream());
}
};
class FAudioCaptureAudioUnitModule : public IModuleInterface
{
private:
FAudioCaptureAudioUnitFactory AudioCaptureFactory;
public:
virtual void StartupModule() override
{
IModularFeatures::Get().RegisterModularFeature(IAudioCaptureFactory::GetModularFeatureName(), &AudioCaptureFactory);
}
virtual void ShutdownModule() override
{
IModularFeatures::Get().UnregisterModularFeature(IAudioCaptureFactory::GetModularFeatureName(), &AudioCaptureFactory);
}
};
}
IMPLEMENT_MODULE(Audio::FAudioCaptureAudioUnitModule, AudioCaptureAudioUnit)