Comment ajouter des effets audio ou vidéo

[MFPlay est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. ]

Cette rubrique explique comment utiliser des effets audio/vidéo avec MFPlay.

Pour utiliser un effet avec MFPlay, l’effet doit être implémenté en tant que transformation Media Foundation (MFT). Pour plus d’informations, consultez Transformations Media Foundation.

Pour ajouter un effet audio ou vidéo

  1. Créez une instance du MFT qui implémente l’effet.
  2. Appelez IMFPMediaPlayer::InsertEffect.

Appelez InsertEffect avant d’ouvrir le fichier multimédia pour la lecture. MFPlay détermine automatiquement si l’effet est un effet vidéo ou audio.

La méthode InsertEffect prend également un paramètre booléen qui spécifie si l’effet est facultatif ou obligatoire. Si MFPlay ne peut pas ajouter un effet requis (par exemple, parce que le format de flux n’est pas compatible), une erreur de lecture se produit. Dans la plupart des cas, il est préférable de définir un effet comme facultatif.

MFPlay continue d’utiliser l’effet pour toute lecture ultérieure. Pour supprimer l’effet, appelez IMFPMediaPlayer::RemoveEffect ou IMFPMediaPlayer::RemoveAllEffects.

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;
}

Spécifications

MFPlay nécessite Windows 7.

Utilisation de MFPlay pour la lecture audio/vidéo