Pour rechercher par numéro de trame à 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 le lecteur source et l’enregistreurré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 asynchrone peut être utilisé pour rechercher le nombre d’images de flux vidéo dans un fichier ASF. Pour utiliser la recherche basée sur des images, le fichier chargé dans le lecteur doit être indexé par frame. Chaque flux vidéo individuel peut être indexé. Pour déterminer si un flux a été indexé par frame, vous pouvez case activée l’attribut g_wszWMNumberOfFrames dans l’en-tête du fichier en appelant IWMHeaderInfo::GetAttributeByName.

Pour rechercher des données dans un fichier ASF par numéro de trame à l’aide du lecteur asynchrone, procédez comme suit.

  1. Obtenez un pointeur vers l’interface IWMReaderAdvanced3 de l’objet reader en appelant IWMReader::QueryInterface.
  2. Définissez le numéro et la durée de l’image de départ en appelant IWMReaderAdvanced3::StartAtPosition. Vous devez spécifier le numéro de flux d’un flux vidéo indexé sur images. Le lecteur synchronise le reste des sorties avec l’heure de présentation de la trame 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

Lecture des métadonnées lors de la lecture

Utilisation des index