Freigeben über


IMFMediaEngineClassFactory::CreateInstance-Methode (mfmediaengine.h)

Erstellt eine neue instance der Medien-Engine.

Syntax

HRESULT CreateInstance(
  [in]  DWORD          dwFlags,
  [in]  IMFAttributes  *pAttr,
  [out] IMFMediaEngine **ppPlayer
);

Parameter

[in] dwFlags

Ein bitweiser OR mit null oder mehr Flags aus der MF_MEDIA_ENGINE_CREATEFLAGS-Enumeration .

[in] pAttr

Ein Zeiger auf die IMFAttributes-Schnittstelle eines Attributspeichers .

Dieser Parameter gibt Konfigurationsattribute für die Medien-Engine an. Rufen Sie MFCreateAttributes auf, um den Attributspeicher zu erstellen. Legen Sie dann ein oder mehrere Attribute aus der Liste der Medienmodulattribute fest. Einzelheiten finden Sie unter "Hinweise".

[out] ppPlayer

Empfängt einen Zeiger auf die IMFMediaEngine-Schnittstelle . Der Aufrufer muss die Schnittstelle freigeben.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
MF_E_ATTRIBUTENOTFOUND
Ein erforderliches Attribut fehlte in pAttr, oder es wurde eine ungültige Kombination von Attributen verwendet.

Hinweise

Bevor Sie diese Methode aufrufen, rufen Sie MFStartup auf.

Die Medien-Engine unterstützt drei verschiedene Modi:

Mode BESCHREIBUNG
Frame-Server-Modus In diesem Modus liefert die Medien-Engine nicht komprimierte Videoframes an die Anwendung. Die Anwendung ist für die Anzeige der einzelnen Frames mit Microsoft Direct3D oder einer anderen Renderingtechnik verantwortlich.

Die Medien-Engine rendert das Audio; Die Anwendung ist nicht für das Audiorendering verantwortlich.

Der Frame-Server-Modus ist der Standardmodus.

Renderingmodus In diesem Modus rendert die Medien-Engine sowohl Audio als auch Video. Das Video wird in ein Fenster oder ein Microsoft DirectComposition-Visual gerendert, das von der Anwendung bereitgestellt wird.

Um den Renderingmodus zu aktivieren, legen Sie entweder das attribut MF_MEDIA_ENGINE_PLAYBACK_HWND oder das attribut MF_MEDIA_ENGINE_PLAYBACK_VISUAL fest.

Audiomodus In diesem Modus rendert die Medien-Engine nur Audio ohne Video.

Um den Audiomodus zu aktivieren, legen Sie das flag MF_MEDIA_ENGINE_AUDIOONLY im dwFlags-Parameter fest.

 

Initialisierungsattribute

Die folgenden Attribute werden für den pAttr-Parameter definiert. Einige sind erforderlich, andere sind optional, je nach gewünschtem Modus.
Funktion Attribute Frameservermodus Renderingmodus Audiomodus
Ereignisrückruf MF_MEDIA_ENGINE_CALLBACK Erforderlich. Erforderlich. Erforderlich.
Renderziel Einer der folgenden:
MF_MEDIA_ENGINE_PLAYBACK_HWND
MF_MEDIA_ENGINE_PLAYBACK_VISUAL
Diese Attribute schließen sich gegenseitig aus. Durch Festlegen eines dieser Attribute wird die Medien-Engine in den Renderingmodus versetzt.
Legen Sie keinen Wert fest. Erforderlich. Legen Sie keinen Wert fest.
Direct3D-Format MF_MEDIA_ENGINE_VIDEO_OUTPUT_FORMAT Erforderlich. Optional. Legen Sie keinen Wert fest.
DXGI-Geräte-Manager (Microsoft DirectX Graphics Infrastructure) MF_MEDIA_ENGINE_DXGI_MANAGER Optional. Optional. Legen Sie keinen Wert fest.
Media Engine-Erweiterungen MF_MEDIA_ENGINE_EXTENSION Optional. Optional. Optional.
Inhaltsschutz Einer der folgenden Punkte trifft zu:
MF_MEDIA_ENGINE_OPM_HWND
MF_MEDIA_ENGINE_CONTENT_PROTECTION_FLAGS
MF_MEDIA_ENGINE_CONTENT_PROTECTION_MANAGER
Optional. Optional. Optional.
Audiowiedergabe Einer der folgenden Punkte trifft zu:
MF_MEDIA_ENGINE_AUDIO_CATEGORY
MF_MEDIA_ENGINE_AUDIO_ENDPOINT_ROLE
Optional. Optional. Optional.
 

Windows Phone 8

Diese API wird unterstützt.

Auf dem Telefon unterstützt die Medien-Engine nur den Frame-Server-Modus. Beim Versuch, die Schnittstelle im Renderingmodus oder im Audiomodus zu initialisieren, tritt ein Fehler auf.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile mfmediaengine.h

Weitere Informationen

IMFMediaEngineClassFactory