So verwenden Sie die manuelle Streamauswahl

Wenn Sie unkomprimierte Beispiele mit dem Readerobjekt bereitstellen, können Sie sie nur nach Ausgabenummer bereitstellen. Im Fall von sich gegenseitig ausschließenden Streams bedeutet dies, dass Sie Stichproben nur von einem Datenstrom gleichzeitig im gegenseitigen Ausschluss empfangen können. Der Prozess der Auswahl des sich gegenseitig ausschließenden Streams, der zu liefern ist, wird als Streamauswahl bezeichnet.

Für den gegenseitigen Ausschluss von Bitraten trifft der Reader die Streamauswahl automatisch basierend auf den Bedingungen auf dem Hostcomputer bei der Wiedergabe. Bei anderen Arten des gegenseitigen Ausschlusses liefert der Reader Beispiele aus dem Standardstream, es sei denn, Sie wählen manuell selbst einen anderen Stream aus. Es kann auch Fälle geben, in denen Sie einen Stream manuell aus einem gegenseitigen Bitratenausschluss auswählen möchten.

Die manuelle Streamauswahl ist für die gesamte Datei entweder ein- oder ausgeschaltet. Wenn eine Datei gegenseitigen Bitratenausschluss und einen anderen gegenseitigen Ausschlusstyp enthält, müssen Sie die bitratenbasierten Streams manuell auswählen.

Um einen sich gegenseitig ausschließenden Stream manuell auszuwählen, müssen Sie die folgenden Schritte ausführen.

  1. Rufen Sie einen Zeiger auf die IWMReaderAdvanced-Schnittstelle des Readerobjekts ab, indem Sie IWMReader::QueryInterface aufrufen.
  2. Aktivieren Sie die manuelle Streamauswahl, indem Sie IWMReaderAdvanced::SetManualStreamSelection aufrufen.
  3. Um herauszufinden, ob ein bestimmter Stream ausgewählt ist, rufen Sie IWMReaderAdvanced::GetStreamSelected auf. Sie müssen einen Zeiger auf eine Variable des WMT _ STREAM _ SELECTION-Enumerationstyps übergeben. Wenn der Aufruf zurückgegeben wird, beschreibt der Wert in der Variablen den aktuellen Auswahltyp des Streams.
  4. Um einen Stream auszuwählen, rufen Sie IWMReaderAdvanced::SetStreamsSelected auf. Mit dieser Methode können Sie mehrere Datenströme gleichzeitig für den synchronisierten Streamwechsel angeben.

Lesen von Dateien mit dem asynchronen Reader