Delen via


Zoeken naar SMPTE-tijdcode met behulp van de asynchrone lezer

[De functie die is gekoppeld aan deze pagina, Windows Media Format 11 SDK, is een verouderde functie. Het is vervangen door Source Reader en Sink Writer. Bronlezer en Sink Writer zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken bronlezer en Sink Writer- in plaats van Windows Media Format 11 SDK, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

Het lezerobject kan naar een punt in een bestand zoeken op basis van de SMPTE-tijdcode die is gekoppeld aan een videostream. Tijdcodegegevens worden ingekapseld in WMT_TIMECODE_EXTENSION_DATA structuren die zijn gekoppeld aan videovoorbeelden als extensies van gegevenseenheden.

SMPTE-tijdcodes worden gedefinieerd door een bereik en een tijdscode binnen dat bereik. Een bereik is een doorlopende reeks tijdcodes. Elke tijdcode wordt gedefinieerd door uren, minuten, seconden en frames.

Voer de volgende stappen uit om gegevens te zoeken in een ASF-bestand door SMPTE-tijdcode met behulp van de asynchrone lezer.

  1. Verkrijg een aanwijzer naar de IWMReaderAdvanced3 interface van het lezerobject door IWMReader::QueryInterfaceaan te roepen.
  2. Stel de begintijdcode en duur in door IWMReaderAdvanced3::StartAtPositionaan te roepen. U moet het streamnummer opgeven van een videostream die wordt geïndexeerd op basis van tijdcode. De lezer synchroniseert de rest van de uitvoer naar de presentatietijd van het opgegeven frame van de opgegeven stroom en begint met het leveren van uitvoervoorbeelden.
  3. De voorbeelden verwerken zoals u normaal gesproken zou doen bij de implementatie van de methode IWMReaderCallback::OnSample.

bestanden lezen met de Asynchrone lezer

Werken met indexen

ondersteuning voor SMPTE-tijdcode