Abrufen von Profilinformationen bei der Wiedergabe

Informationen aus dem Profil, das zum Erstellen einer Datei verwendet wird, werden im Headerabschnitt der Datei gespeichert. Beide Readerobjekte können über den Dateiheader auf die Profilinformationen zugreifen. Es gibt mehrere Gründe, warum Sie vom Leser aus auf Profildaten zugreifen möchten. In den meisten Jahren müssen Sie Informationen zu Streams, gegenseitigen Ausschlussobjekten und Bandbreitenfreigabeobjekten abrufen.

Sowohl das asynchrone Readerobjekt als auch das synchrone Readerobjekt können für die IWMProfile-Schnittstelle abgefragt werden. Keine Änderungen an den Profilinformationen können Auswirkungen auf die Datei im Reader haben. Weitere Informationen zum Zugreifen auf Profilinformationen finden Sie unter Arbeiten mit Profilen.

Streamen von Informationen

Manchmal ist es wichtig zu wissen, wie ein Stream konfiguriert ist. Wenn Sie Medieneigenschaften aus einem der Readerobjekte abrufen, erhalten Sie die Eigenschaften der Ausgaben. Ausgabeeigenschaften beschreiben, wie die unkomprimierten Daten aus einem Stream vom Reader übermittelt werden, nicht wie der Stream in der ASF-Datei konfiguriert wird.

Wenn Sie nicht komprimierte Streambeispiele von beiden Readerobjekten empfangen, müssen Sie die Profilinformationen verwenden, um das Format der komprimierten Daten zu identifizieren. Dies ist besonders wichtig, wenn Sie den komprimierten Stream in eine andere ASF-Datei schreiben möchten.

Sie müssen auch auf Streaminformationen zugreifen, wenn Sie die intelligente Rekomprimierung verwenden, um einen Audiodatenstrom mit einer niedrigeren Bitrate zu transcodieren.

Möglicherweise möchten Sie ermitteln, ob ein Stream mit VBR-Codierung (Variable Bit Rate) geschrieben wurde. Sie können nicht über die IWMProfile-Schnittstelle eines der Reader-Objekte auf VBR-Informationen zugreifen. Dies liegt daran, dass die VBR-Informationen nach der Codierung nicht in der Datei gespeichert werden. Sie können bestimmen, ob ein Stream mit VBR-Codierung erstellt wurde, indem Sie einen Zeiger auf die IWMHeaderInfo-Schnittstelle des Readerobjekts abrufen und IWMHeaderInfo::GetAttributeByName aufrufen. Sie müssen die Streamnummer angeben und g _ wszIsVBR als Attributnamen übergeben.

Informationen zum gegenseitigen Ausschluss

Wenn Sie eine Leseanwendung erstellen möchten, die gegenseitigen Ausschluss verwendet, sollten Sie auf die Informationen zu allen objekten für gegenseitigen Ausschluss zugreifen, die im Profil enthalten sind. Für alle gegenseitigen Ausschlusstypen mit Ausnahme der Bitrate ist die Leseanwendung für alle erforderlichen Datenstromwechsel verantwortlich. Um Datenströme zu wechseln, müssen Sie wissen, welche Streams welche sind.

Informationen zur Bandbreitenfreigabe

Objekte zur Bandbreitenfreigabe, die in einem Profil enthalten sind, sind nur zu Informationszwecken enthalten. Weder das Writerobjekt noch eines der Readerobjekte führt eine Aktion als Ergebnis der Bandbreitenfreigabedaten aus. Wenn Sie die Bandbreitenfreigabe in Ihrer Leseanwendung verwenden möchten, müssen Sie auf die Informationen zur Bandbreitenfreigabe aus den Profildaten zugreifen.

Hinweis

Nicht alle Informationen aus dem Profil, die zum Erstellen einer Datei verwendet werden, sind im Dateiheader vorhanden. Im Allgemeinen werden Daten, die nur zum Zeitpunkt der Codierung verwendet werden, nicht in der Datei beibehalten. Dies schließt Eingabeeinstellungen ein, die mit der IWMWriterAdvanced2::SetInputSetting-Methode festgelegt wurden, sowie Eigenschaften, die mit der IWMPropertyVault::SetProperty-Methode festgelegt wurden.

IWMProfile-Schnittstelle

Lesen von ASF-Dateien