Freigeben über


So suchen Sie nach Framenummer mithilfe des asynchronen Lesegeräts

[Das dieser Seite zugeordnete Feature Windows Media Format 11 SDK ist ein Legacyfeature. Sie wurde durch den Quellleser und den Senkenschreiber ersetzt. Quellleser und Senkenschreiber wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit den Quellleser und senkenden Writer anstelle des Windows Media Format 11 SDK verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Das asynchrone Reader-Objekt kann verwendet werden, um die Framenummern von Videostreams in einer ASF-Datei zu ermitteln. Um die framebasierte Suche zu verwenden, muss die im Reader geladene Datei nach Frame indiziert werden. Jeder einzelne Videostream kann indiziert werden. Um zu bestimmen, ob ein Stream nach Frame indiziert wurde, können Sie das attribut g_wszWMNumberOfFrames im Header der Datei überprüfen, indem Sie IWMHeaderInfo::GetAttributeByName aufrufen.

Führen Sie die folgenden Schritte aus, um Daten in einer ASF-Datei anhand der Framenummer mit dem asynchronen Reader zu suchen.

  1. Rufen Sie einen Zeiger auf die IWMReaderAdvanced3-Schnittstelle des Leserobjekts ab, indem Sie IWMReader::QueryInterface aufrufen.
  2. Legen Sie die Startframenummer und -dauer fest, indem Sie IWMReaderAdvanced3::StartAtPosition aufrufen. Sie müssen die Streamnummer eines frameindizierten Videostreams angeben. Der Leser 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

Lesen von Metadaten bei der Wiedergabe

Arbeiten mit Indizes