Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Windows Media Audio- und Videocodecs werden als COM-Objekte implementiert. In der Regel wird ein Codec als COM-Objektpaar implementiert: eines für den Encoder und eines für den Decoder. Der Encoder verfügt über einen Klassenbezeichner (CLSID), und der Decoder hat eine andere CLSID. Der Encoderteil des Windows Media Audio 9-Codecs weist beispielsweise eine CLSID auf, die durch die Konstante CLSID_CWMAEncMediaObjectdargestellt wird, und der Decoderteil desselben Codecs weist eine CLSID auf, die durch die Konstante CLSID_CWMADecMediaObjectdargestellt wird.
In einigen Fällen ist mehr als ein Encoder in einem einzelnen COM-Objekt enthalten. Beispielsweise sind der Windows Media Video 9-Encoder und der Windows Media Video 9.1-Encoder Teil desselben COM-Objekts. Folglich haben beide die gleiche CLSID, die durch die Konstante CLSID_CWMV9EncMediaObjectdargestellt wird. Ebenso enthalten einige COM-Objekte mehr als einen Decoder.
Jedes Encoder- oder Decoderobjekt macht die IMediaObject- Schnittstelle verfügbar, sodass das Objekt als DirectX Media Object (DMO) und die IMFTransform Schnittstelle verwendet werden kann, sodass das Objekt als Media Foundation Transform (MFT) verwendet werden kann.
Für die meisten Encoder verwenden Sie unabhängig davon, ob Sie den Encoder als DMO oder MFT verwenden, dieselbe CLSID, um eine Instanz des Encoders zu erstellen. Um beispielsweise eine Instanz des Windows Media Video 9-Encoders zu erstellen, verwenden Sie CLSID_CWMV9EncMediaObject, unabhängig davon, ob Sie den Encoder als DMO oder MFT verwenden möchten. Ebenso verfügt jeder Decoder für die meisten Decoder über eine einzelne CLSID, unabhängig davon, ob Sie den Decoder als DMO oder MFT verwenden.
Anmerkung
Es gibt einige Ausnahmen von der vorherigen Anweisung zur Verwendung einer einzelnen CLSID sowohl für DMO als auch für MFT. Beispielsweise verfügt der MPEG-4 Part 2-Decoder über eine CLSID, wenn er als DMO und eine andere CLSID fungiert, wenn er als MFT fungiert.
Zusätzlich zu den Kernschnittstellen implementiert jedes Encoder- oder Decoderobjekt zwei ähnliche Schnittstellen zum Arbeiten mit Codeceigenschaften, IPropertyBag und IPropertyStore-. Ältere Versionen der Encoder- und Decoderobjekte werden IPropertyBagverwendet, die jede Eigenschaft anhand eines Zeichenfolgenwerts identifiziert, der einen Eigenschaftsnamen enthält. IPropertyStore- ist eine neuere Schnittstelle, die Eigenschaften mit einem eindeutigen Eigenschaftsschlüsselwert identifiziert. Unterstützung für IPropertyStore- wurde hinzugefügt, um Unterstützung für MFTs bereitzustellen. Die meisten IPropertyBag Eigenschaftsnamenzeichenfolgen weisen eine entsprechende IPropertyStore- Eigenschaftenschlüssel-GUID auf, und die meisten GUIDs weisen eine entsprechende IPropertyBag Namenszeichenfolge mit einigen Ausnahmen auf.
In dieser Dokumentation werden die Eigenschaften nach Eigenschaftsschlüsselkonstante aufgeführt, aber jeder Eintrag enthält die Zeichenfolgenkonstante für den Eigenschaftennamen, die bei Bedarf mit IPropertyBag- verwendet werden können.