Files
UnrealEngine/Engine/Source/Runtime/MediaUtils/Private/MediaCaptureSupport.cpp
2025-05-18 13:04:45 +08:00

46 lines
1.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MediaCaptureSupport.h"
#include "IMediaModule.h"
#include "Modules/ModuleManager.h"
namespace MediaCaptureSupport
{
void EnumerateAudioCaptureDevices(TArray<FMediaCaptureDeviceInfo>& OutDeviceInfos)
{
auto MediaModule = FModuleManager::LoadModulePtr<IMediaModule>("Media");
if (MediaModule == nullptr)
{
return;
}
const TArray<IMediaCaptureSupport*>& CaptureSupports = MediaModule->GetCaptureSupports();
for (const auto& CaptureSupport : CaptureSupports)
{
CaptureSupport->EnumerateAudioCaptureDevices(OutDeviceInfos);
}
}
void EnumerateVideoCaptureDevices(TArray<FMediaCaptureDeviceInfo>& OutDeviceInfos)
{
auto MediaModule = FModuleManager::LoadModulePtr<IMediaModule>("Media");
if (MediaModule == nullptr)
{
return;
}
const TArray<IMediaCaptureSupport*>& CaptureSupports = MediaModule->GetCaptureSupports();
for (const auto& CaptureSupport : CaptureSupports)
{
CaptureSupport->EnumerateVideoCaptureDevices(OutDeviceInfos);
}
}
}