Freigeben über


Verwenden von Dateisenken

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Es wurde von Source Reader und Sink Writer abgelöst. Source Reader und Sink Writer wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit quellleser und Senkenschreiber anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Unter normalen Umständen können Sie dem Writer einfach mithilfe der IWMWriter::SetOutputFilename-Methode einen Ausgabedateinamen übergeben, und das Writer-Objekt schreibt die Datei automatisch auf den Datenträger. In diesem Fall erstellt und steuert der Writer tatsächlich ein Writer-Dateisenkenobjekt, das das Schreiben der Datei auf den Datenträger verarbeitet. Ein Writer-Dateisenkenobjekt steuert den Datenfluss vom Writer-Objekt zu einer einzelnen Datei.

Sie können Eigene Dateisenken erstellen, um mehr Kontrolle darüber zu erhalten, wie die Senke die Datei schreibt. Sie können auch auf die Standardmäßige Writer-Dateisenke zugreifen, die vom Writer als Reaktion auf einen Aufruf von SetOutputFilename erstellt wurde.

Erstellen von Dateisenken

Führen Sie die folgenden Schritte aus, um eine Dateisenke zu erstellen und sie dem Writer hinzuzufügen.

  1. Erstellen Sie eine neue Senke, indem Sie die Funktion WMCreateWriterFileSink aufrufen.
  2. Geben Sie einen Dateinamen für die Senke an, indem Sie IWMWriterFileSink::Open aufrufen.
  3. Fügen Sie die Dateisenke zum Writer hinzu, indem Sie IWMWriterAdvanced::AddSink aufrufen.
  4. Schreiben Sie auf die übliche Weise.
  5. Nach Abschluss des Schreibvorgangs schließt die Senke die Datei automatisch.

Beenden und Starten von Dateisenken

Nachdem die Schreibvorgänge begonnen haben, können Sie das Schreiben in eine Dateisenke beenden, indem Sie IWMWriterFileSink2::Stop aufrufen.

Es gibt viele mögliche Gründe, warum Sie das Schreiben in eine Senke beenden möchten. Wenn Sie beispielsweise aus einer Livequelle aufzeichnen, sind Sie möglicherweise nur an einem Teil des Inhalts interessiert.

Sie können das Schreiben in eine Dateisenke fortsetzen, indem Sie IWMWriterFileSink2::Start aufrufen. Sowohl Stop als auch Start verwenden Präsentationszeiten, um den ungefähren Zeitpunkt der Ausführung des Befehls zu steuern. Sie können die IWMWriterFileSink3-Methoden verwenden, um mehr Kontrolle über Start- und Stoppzeiten zu erhalten.

Schließen von Dateisenken

Normalerweise wird eine Dateisenke automatisch geschlossen. Wenn Sie mit dem Schreiben in eine Senke fertig sind, aber schreibvorgänge in andere Senken fortgesetzt werden, sollten Sie die Senke explizit schließen, um Ressourcen zu sparen. Um eine Dateisenke zu schließen, rufen Sie IWMWriterFileSink2::Close auf.

Abrufen von Senkenstatistiken

Sie können die Dateigröße und dauer für eine geöffnete Senke abrufen, indem Sie IWMWriterFileSink2::GetFileSize bzw. IWMWriterFileSink2::GetFileDuration aufrufen.

IWMWriterFileSink-Schnittstelle

IWMWriterFileSink2-Schnittstelle

IWMWriterFileSink3-Schnittstelle

Writer-Dateisenke (Objekt)

Schreiben von ASF-Dateien