#include "VideoCapturerFactory.h" #include "GdiCapturer.h" #include "DxgiCapturer.h" #include "WgcCapturer.h" namespace avrecorder { namespace video { std::unique_ptr VideoCapturerFactory::create(CaptureMethod method) { #ifdef PLATFORM_WINDOWS switch (method) { case CaptureMethod::GDI: return std::make_unique(); case CaptureMethod::DXGI: return std::make_unique(); case CaptureMethod::WGC: return std::make_unique(); default: return nullptr; } #else // 其他平台可扩展 return nullptr; #endif } } // namespace video } // namespace avrecorder