Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]
Um Videos aufzunehmen und in eine WMV-Datei (Windows Media Video) zu codieren, verbinden Sie den Aufnahmepin mit dem WM ASF Writer-Filter , wie im folgenden Diagramm dargestellt.
Die einfachste Möglichkeit zum Erstellen dieses Graphen besteht darin, MEDIASUBTYPE_Asf in der ICaptureGraphBuilder2::SetOutputFileName-Methode zu angeben:
IBaseFilter* pASFWriter = 0;
hr = pBuild->SetOutputFileName(
&MEDIASUBTYPE_Asf, // Create a Windows Media file.
L"C:\\VidCap.wmv", // File name.
&pASFWriter, // Receives a pointer to the filter.
NULL); // Receives an IFileSinkFilter interface pointer (optional).
Der Wert MEDIASUBTYPE_Asf weist den Capture Graph Builder an, den WM ASF Writer-Filter als Dateisenke zu verwenden. Der Capture Graph Builder erstellt den Filter, fügt ihn dem Diagramm hinzu und ruft IFileSinkFilter::SetFileName auf, um den Namen der Ausgabedatei festzulegen. Es gibt einen Zeiger auf den Filter als ausgehenden Parameter zurück (
pASFWriter
im vorherigen Beispiel).
Verwenden Sie die IConfigAsfWriter-Schnittstelle im WM ASF Writer, um das Windows Media-Profil festzulegen. Sie müssen dies tun, bevor Sie pins am WM ASF Writer verbinden.
IConfigAsfWriter *pConfig = 0;
hr = pASFWriter->QueryInterface(IID_IConfigAsfWriter, (void**)&pConfig);
if (SUCCEEDED(hr))
{
// Configure the ASF Writer filter.
pConfig->Release();
}
Weitere Informationen zum Festlegen des Profils finden Sie unter Erstellen von ASF-Dateien in DirectShow.
Rufen Sie ICaptureGraphBuilder2::RenderStream auf, um den Erfassungsfilter mit dem ASF Writer zu verbinden:
hr = pBuild->RenderStream(
&PIN_CATEGORY_CAPTURE, // Capture pin.
&MEDIATYPE_Video, // Video. Use MEDIATYPE_Audio for audio.
pCap, // Pointer to the capture filter.
0,
pASFWriter); // Pointer to the sink filter (ASF Writer).
Jeder Eingabenadel im WM ASF Writer-Filter entspricht einem Stream im Windows Media-Profil. Sie müssen jede Pin verbinden, damit der Dateiinhalt mit dem Profil übereinstimmt.
Zugehörige Themen