Pour rechercher par SMPTE Time Code à l’aide du lecteur asynchrone

[La fonctionnalité associée à cette page, le Kit de développement logiciel (SDK) Windows Media Format 11, est une fonctionnalité héritée. Il a été remplacé par lecteur source et enregistreur récepteur. Le lecteur source et l’enregistreur récepteur ont été optimisés pour Windows 10 et Windows 11. Microsoft recommande vivement que le nouveau code utilise le lecteur source et l’enregistreur récepteur au lieu du Kit de développement logiciel (SDK) Windows Media Format 11, lorsque cela est possible. Microsoft suggère que le code existant qui utilise les API héritées soit réécrit pour utiliser les nouvelles API si possible.]

L’objet lecteur peut rechercher un point dans un fichier en fonction du code de temps SMPTE associé à un flux vidéo. Les données de code de temps sont encapsulées dans des structures WMT_TIMECODE_EXTENSION_DATA attachées à des exemples vidéo en tant qu’extensions d’unités de données.

Les codes de temps SMPTE sont définis par une plage et un code de temps dans cette plage. Une plage est une série continue de codes de temps. Chaque code de temps est défini par heures, minutes, secondes et images.

Pour rechercher des données dans un fichier ASF à l’aide du code de temps SMPTE à l’aide du lecteur asynchrone, effectuez les étapes suivantes.

  1. Obtenez un pointeur vers l’interface IWMReaderAdvanced3 de l’objet lecteur en appelant IWMReader::QueryInterface.
  2. Définissez le code d’heure et la durée de début en appelant IWMReaderAdvanced3::StartAtPosition. Vous devez spécifier le numéro de flux d’un flux vidéo indexé par code de temps. Le lecteur synchronise le reste des sorties avec l’heure de présentation de l’image spécifiée du flux spécifié et commence à fournir des exemples de sortie.
  3. Gérez les exemples comme vous le feriez normalement dans votre implémentation de la méthode IWMReaderCallback::OnSample .

Lecture de fichiers avec le lecteur asynchrone

Utilisation des index

Prise en charge du code temporel SMPTE