Pour utiliser la sélection manuelle de flux

Lorsque vous fournissez des exemples non compressés avec l’objet lecteur, vous pouvez les remettre uniquement par numéro de sortie. Dans le cas de flux mutuellement exclusifs, cela signifie que vous ne pouvez recevoir des échantillons qu’à partir d’un seul flux dans l’exclusion mutuelle à la fois. Le processus de choix du flux mutuellement exclusif à distribuer est appelé sélection de flux.

Pour l’exclusion mutuelle de débit binaire, le lecteur effectue automatiquement des sélections de flux en fonction des conditions sur l’ordinateur hôte lors de la lecture. Pour d’autres types d’exclusion mutuelle, le lecteur remet des échantillons à partir du flux par défaut, sauf si vous sélectionnez manuellement un autre flux vous-même. Il peut également y avoir des instances lorsque vous souhaitez sélectionner un flux manuellement à partir d’une exclusion mutuelle de débit binaire.

La sélection manuelle du flux est activée ou désactivée pour l’ensemble du fichier. Si un fichier contient une exclusion mutuelle de débit binaire et un autre type d’exclusion mutuelle, vous devez sélectionner manuellement les flux basés sur le débit binaire.

Pour sélectionner manuellement un flux mutuellement exclusif, vous devez effectuer les étapes suivantes.

  1. Récupérez un pointeur vers l’interface IWMReaderAdvanced de l’objet lecteur en appelant IWMReader::QueryInterface.
  2. Activez la sélection manuelle de flux en appelant IWMReaderAdvanced::SetManualStreamSelection.
  3. Pour savoir si un flux particulier est sélectionné, appelez IWMReaderAdvanced::GetStreamSelected. Vous devez passer un pointeur à une variable du type d’énumération WMT_STREAM_SELECTION . Lorsque l’appel est retourné, la valeur de la variable décrit le type de sélection actuel du flux.
  4. Pour sélectionner un flux, appelez IWMReaderAdvanced::SetStreamsSelected. Cette méthode vous permet de spécifier plusieurs flux en même temps pour le basculement de flux synchronisé.

Lecture de fichiers avec le lecteur asynchrone