如何新增音訊或視訊效果
[MFPlay 可用於需求一節中指定的作業系統。 它在後續版本中可能會變更或無法使用。 ]
本主題描述如何搭配 MFPlay 使用音訊/視訊效果。
若要搭配 MFPlay 使用效果,效果必須實作為媒體基礎轉換, (MFT) 。 如需詳細資訊,請參閱 媒體基礎轉換。
新增音訊或視訊效果
- 建立實作效果之 MFT 的實例。
- 呼叫 IMFPMediaPlayer::InsertEffect。
開啟媒體檔案以供播放之前,請先呼叫 InsertEffect 。 MFPlay 會自動判斷效果是視訊效果還是音訊效果。
InsertEffect方法也會採用 Boolean 參數,指定效果是選擇性還是必要。 例如,如果 MFPlay 無法新增必要的效果 (,因為資料流程格式與) 不相容,就會發生播放錯誤。 在大部分情況下,最好將效果設定為選擇性。
MFPlay 會繼續使用所有後續播放的效果。 若要移除效果,請呼叫 IMFPMediaPlayer::RemoveEffect 或 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;
}
規格需求
MFPlay 需要 Windows 7。
相關主題
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應