Share via


So fügen Sie Audio- oder Videoeffekte hinzu

[MFPlay ist für die Verwendung in den im Abschnitt "Anforderungen" angegebenen Betriebssystemen verfügbar. Es kann in nachfolgenden Versionen geändert oder entfernt werden. ]

In diesem Thema wird beschrieben, wie Audio-/Videoeffekte mit MFPlay verwendet werden.

Um einen Effekt mit MFPlay zu verwenden, muss der Effekt als Media Foundation-Transformation (MFT) implementiert werden. Weitere Informationen finden Sie unter Media Foundation Transforms.

So fügen Sie einen Audio- oder Videoeffekt hinzu

  1. Erstellen Sie eine Instanz der MFT, die den Effekt implementiert.
  2. Rufen Sie IMFPMediaPlayer::InsertEffect auf.

Rufen Sie InsertEffect auf, bevor Sie die Mediendatei für die Wiedergabe öffnen. MFPlay bestimmt automatisch, ob der Effekt ein Videoeffekt oder Audioeffekt ist.

Die InsertEffect-Methode verwendet auch einen Booleschen Parameter, der angibt, ob der Effekt optional oder erforderlich ist. Wenn MFPlay keinen erforderlichen Effekt hinzufügen kann (z. B. weil das Streamformat nicht kompatibel ist), tritt ein Wiedergabefehler auf. In den meisten Fällen ist es besser, einen Effekt als optional festzulegen.

MFPlay verwendet weiterhin den Effekt für alle nachfolgenden Wiedergaben. Um den Effekt zu entfernen, rufen Sie IMFPMediaPlayer::RemoveEffect oder IMFPMediaPlayer::RemoveAllEffects auf.

HRESULT AddPlaybackEffect(REFGUID clsid, IMFPMediaPlayer *pPlayer)
{
    IMFTransform *pMFT = NULL;

    HRESULT hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, 
        IID_PPV_ARGS(&pMFT));

    if (SUCCEEDED(hr))
    {
        hr = pPlayer->InsertEffect(pMFT, TRUE); // Set as optional.
    }

    SafeRelease(&pMFT);
    return hr;
}

Anforderungen

MFPlay erfordert Windows 7.

Verwenden von MFPlay für Audio/Videowiedergabe