Zuweisen von Ausgabeformaten

Einige Codecs können digitale Mediendaten in mehrere unkomprimierte Formate dekomprimieren. Sie finden alle unterstützten Formate für eine bestimmte Ausgabe entweder mit dem asynchronen Reader oder dem synchronen Reader.

Führen Sie die folgenden Schritte aus, um alle verfügbaren Formate für eine Ausgabe zu untersuchen. Diese Prozeduren sind für den asynchronen Reader und den synchronen Reader identisch. Wenn Schnittstellennamen variieren, werden die synchronen Readermethoden in Klammern nach den Methoden des asynchronen Readers aufgeführt.

  1. Erstellen Sie ein Readerobjekt, und laden Sie eine Datei zum Lesen. Weitere Informationen finden Sie unter So erstellen Sie einen Reader und Öffnen einer Datei (oder So erstellen Sie einen synchronen Reader und Öffnen einer Datei).

  2. Bestimmen Sie die Ausgabe, für die Sie die verfügbaren Formate suchen möchten. Wenn Sie noch nicht wissen, welche Ausgabe Sie verwenden möchten, können Sie die Ausgaben in der Datei mithilfe der Verfahren unter So identifizieren Sie Ausgabenummern identifizierenidentifizieren.

  3. Rufen Sie die Gesamtzahl der verfügbaren Formate für die gewünschte Ausgabe ab, indem Sie IWMReader::GetOutputFormatCount (oder IWMSyncReader::GetOutputFormatCount)aufrufen.

  4. Durchlaufen Sie die verfügbaren Formate einzeln, und führen Sie jeweils die folgenden Schritte aus:

    • Rufen Sie die IWMOutputMediaProps-Schnittstelle für das aktuelle Ausgabeformat ab, indem Sie IWMReader::GetOutputFormat (oder IWMSyncReader::GetOutputFormat) aufrufen.

    • Rufen Sie die WM _ MEDIA _ TYPE-Struktur für das Ausgabeformat ab, indem Sie zwei Aufrufe an IWMMediaProps::GetMediaType vornehmen. Führen Sie den ersten Aufruf aus, um die Größe der -Struktur abzurufen, ordnen Sie ihr anschließend Speicher zu, und übergeben Sie beim zweiten Aufruf einen Zeiger auf den zugeordneten Speicher.

    • Suchen Sie den Medienuntertyp des Ausgabeformats in WM _ MEDIA _ TYPE.subtype.

    • Wenn der aktuelle Untertyp für Videos das Format ist, das Sie für die Ausgabe verwenden möchten, unterbrechen Sie die Schleife. Wechseln Sie andernfalls zur nächsten Iteration.

      Für Audiodaten müssen Sie die Werte in der WAVEFORMATEX-Struktur ihren Anforderungen entsprechend überprüfen. WM _ MEDIA _ TYPE.pbFormat zeigt auf die WAVEFORMATEX-Struktur für Audioausgaben.

  5. Wenn Sie die gewünschte Ausgabe gefunden haben, legen Sie sie für die Verwendung mit dem Reader fest, indem Sie IWMReader::SetOutputProps (oder IWMSyncReader::SetOutputProps)aufrufen. Sie müssen einen Zeiger an die IWMOutputMediaProps-Schnittstelle übergeben, die im ersten Schritt der Schleife abgerufen wurde.

IWMMediaProps-Schnittstelle

IWMOutputMediaProps-Schnittstelle

IWMReader-Schnittstelle

IWMSyncReader-Schnittstelle

Arbeiten mit Ausgaben