Compartilhar via


Como adicionar efeitos de áudio ou vídeo

[O MFPlay está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. ]

Este tópico descreve como usar efeitos de áudio/vídeo com o MFPlay.

Para usar um efeito com MFPlay, o efeito deve ser implementado como uma MFT (transformação do Media Foundation). Para obter mais informações, consulte Transformações do Media Foundation.

Para adicionar um efeito de áudio ou vídeo

  1. Crie uma instância do MFT que implementa o efeito .
  2. Chame IMFPMediaPlayer::InsertEffect.

Chame InsertEffect antes de abrir o arquivo de mídia para reprodução. O MFPlay determina automaticamente se o efeito é um efeito de vídeo ou de áudio.

O método InsertEffect também usa um parâmetro booliano que especifica se o efeito é opcional ou necessário. Se o MFPlay não puder adicionar um efeito necessário (por exemplo, porque o formato de fluxo é incompatível), ocorrerá um erro de reprodução. Na maioria dos casos, é melhor definir um efeito como opcional.

O MFPlay continua a usar o efeito para toda a reprodução subsequente. Para remover o efeito, chame 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;
}

Requisitos

O MFPlay requer o Windows 7.

Usando mfplay para reprodução de áudio/vídeo