Cómo agregar efectos de audio o vídeo

[MFPlay está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. ]

En este tema se describe cómo usar efectos de audio/vídeo con MFPlay.

Para usar un efecto con MFPlay, el efecto debe implementarse como una transformación de Media Foundation (MFT). Para obtener más información, consulte Transformaciones de Media Foundation.

Para agregar un efecto de audio o vídeo

  1. Cree una instancia de MFT que implemente el efecto.
  2. Llame a IMFPMediaPlayer::InsertEffect.

Llame a InsertEffect antes de abrir el archivo multimedia para su reproducción. MFPlay determina automáticamente si el efecto es un efecto de vídeo o un efecto de audio.

El método InsertEffect también toma un parámetro booleano que especifica si el efecto es opcional o necesario. Si MFPlay no puede agregar un efecto necesario (por ejemplo, porque el formato de secuencia no es compatible), se produce un error de reproducción. En la mayoría de los casos, es mejor establecer un efecto como opcional.

MFPlay sigue usando el efecto para todas las reproducciones posteriores. Para quitar el efecto, llame a IMFPMediaPlayer::RemoveEffect o 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;
}

Requisitos

MFPlay requiere Windows 7.

Uso de MFPlay para la reproducción de audio y vídeo