Festlegen eines Ausgabetyps für einen WMA-Encoder
Um einen gültigen Ausgabetyp für einen WMA-Encoder (Windows Media Audio) zu erstellen, benötigen Sie die folgenden Informationen:
Der Audiountertyp, der das codierte WMA-Format erneut angibt. Weitere Informationen finden Sie unter Audiountertyp-GUIDs.
Die Konfigurationseigenschaften, die für den Encoder festgelegt werden sollen.
Die Konfigurationseigenschaften sind in der Dokumentation zu Windows Media Audio and Video Codec und DSP APIs dokumentiert. Weitere Informationen finden Sie unter "Audiostreameigenschaften" unter Codierungseigenschaften.
Windows Vista oder höher
Führen Sie die folgenden Schritte aus, um einen gültigen Ausgabetyp für den Encoder abzurufen.
- Verwenden Sie die MFTEnum- oder MFTEnumEx-Funktion, um eine instance des Encoders zu erstellen.
- Fragen Sie den Encoder für die IPropertyStore-Schnittstelle ab.
- Verwenden Sie die IPropertyStore-Schnittstelle , um den Encoder zu konfigurieren.
- Rufen Sie die unterstützten Ausgabetypen ab, indem Sie IMFTransform::GetOutputAvailableType in einer Schleife aufrufen, bis der Encoder MF_E_NO_MORE_TYPES zurückgibt und Sie den Zielmedientyp auswählen. I
- Rufen Sie IMFTransform::SetOutputType auf, um den Komprimierungsmedientyp für den Encoder festzulegen.
Windows 7
Um einen gültigen Ausgabetyp für den Encoder in Windows 7 abzurufen, stellt Media Foundation die MFTranscodeGetAudioOutputAvailableTypes-Funktion bereit. Eine Anwendung muss den erforderlichen Audiountertyp übergeben, der das codierte WMA und die Codierungseigenschaften wiedergibt. Die Eigenschaften sind erforderlich, da der Encoder die unterstützten Ausgabetypen je nach Modussatz ändert.
Hinweis
MFTranscodeGetAudioOutputAvailableTypeswird nur für die Codierung konstanter Bitraten unterstützt.
Wenn der Aufruf erfolgreich ist, empfängt die Anwendung eine Liste der IUnknown-Zeiger der unterstützten Ausgabemedientypen in einem IMFCollection-Objekt . Um den Ausgabemedientyp festzulegen, suchen Sie nach dem Typ, der Ihrem Zieltyp entspricht, und rufen Sie IMFTransform::SetOutputType auf, um den Komprimierungsmedientyp für den Encoder festzulegen.
Zugehörige Themen