So suchen Sie nach SMPTE-Zeitcode mithilfe des asynchronen Readers

[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.]

Das Reader-Objekt kann basierend auf dem SMPTE-Zeitcode, der einem Videostream zugeordnet ist, zu einem Punkt in einer Datei suchen. Zeitcodedaten werden in WMT_TIMECODE_EXTENSION_DATA-Strukturen gekapselt, die als Dateneinheitenerweiterungen an Videobeispiele angefügt sind.

SMPTE-Zeitcodes werden durch einen Bereich und einen Zeitcode innerhalb dieses Bereichs definiert. Ein Bereich ist eine fortlaufende Reihe von Zeitcodes. Jeder Zeitcode wird durch Stunden, Minuten, Sekunden und Frames definiert.

Führen Sie die folgenden Schritte aus, um Daten in einer ASF-Datei nach SMPTE-Zeitcode mithilfe des asynchronen Readers zu suchen.

  1. Rufen Sie einen Zeiger auf die IWMReaderAdvanced3-Schnittstelle des Reader-Objekts ab, indem Sie IWMReader::QueryInterface aufrufen.
  2. Legen Sie den Startzeitcode und die Dauer fest, indem Sie IWMReaderAdvanced3::StartAtPosition aufrufen. Sie müssen die Streamnummer eines Videodatenstroms angeben, der nach Zeitcode indiziert wird. Der Reader synchronisiert die restlichen Ausgaben mit der Präsentationszeit des angegebenen Frames des angegebenen Datenstroms und beginnt mit der Übermittlung von Ausgabebeispielen.
  3. Behandeln Sie die Beispiele wie gewohnt in Ihrer Implementierung der IWMReaderCallback::OnSample-Methode .

Lesen von Dateien mit dem asynchronen Reader

Arbeiten mit Indizes

SMPTE-Zeitcodeunterstützung