Wie verwende ich eine benutzerdefinierte MediaSource für eine virtuelle Kamera? Wie und wo sollte ich außerdem die CLSID

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie verwende ich eine benutzerdefinierte MediaSource für eine virtuelle Kamera? Wie und wo sollte ich außerdem die CLSID

by Guest » 27 Jan 2025, 07:59

Ich arbeite an einer C ++ - UWP -Anwendung mit der Microsoft Media Foundation Library. Meine App zielt darauf ab, eine virtuelle Kamera zu erstellen, die eine Videodatei als Videoquelle verwenden kann.

Code: Select all

winrt::check_hresult(MFCreateVirtualCamera(
MFVirtualCameraType_SoftwareCameraSource,
MFVirtualCameraLifetime_Session,
MFVirtualCameraAccess_CurrentUser,
cameraName,
L"{7B89B92E-FE71-42D0-8A41-E137D06EA184}",
nullptr,
0,
pVirtualCamera.put()
));
Ich erhalte die Fehlermeldung „Klasse nicht registriert“, wenn ich versuche, die oben erstellte virtuelle Kamera zu starten. Ich verstehe, dass es daran liegt, dass die oben genannte CLSID nicht in der Registrierung registriert ist. Also, wie und wo genau in der Registrierung registriere ich meine CLSID?
Zweitens
Ich verstehe, dass es eine IMFMediaSource gibt, die mit der virtuellen Kamera verknüpft ist, die ich finden kann So erhalten Sie:

Code: Select all

winrt::com_ptr pMediaSource;
pVirtualCamera->GetMediaSource(pMediaSource.put());
Wie ersetze ich es also durch eine neue MediaSource, die die Videodatei als eigentliche Quelle verwendet? Bitte erwähnen Sie auch, wenn ich etwas übersehe und es eine ganz andere Möglichkeit gibt, dies zu tun.

Top