共用方式為


如何新增音訊或視訊效果

[MFPlay 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 ]

本主題描述如何搭配 MFPlay 使用音訊/視訊效果。

若要搭配 MFPlay 使用效果,效果必須實作為媒體基礎轉換, (MFT) 。 如需詳細資訊,請參閱 媒體基礎轉換

新增音訊或視訊效果

  1. 建立實作效果之 MFT 的實例。
  2. 呼叫 IMFPMediaPlayer::InsertEffect

開啟媒體檔案以供播放之前,請先呼叫 InsertEffect 。 MFPlay 會自動判斷效果是視訊效果還是音訊效果。

InsertEffect方法也會採用 Boolean 參數,指定效果是選擇性還是必要。 例如,如果 MFPlay 無法新增必要的效果 (,因為資料流程格式與) 不相容,就會發生播放錯誤。 在大部分情況下,最好將效果設定為選擇性。

MFPlay 會繼續使用所有後續播放的效果。 若要移除效果,請呼叫 IMFPMediaPlayer::RemoveEffectIMFPMediaPlayer::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;
}

規格需求

MFPlay 需要 Windows 7。

使用 MFPlay 進行音訊/視訊播放