Share via


オーディオまたはビデオ効果を追加する方法

[MFPlay は、[要件] セクションで指定されたオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 ]

このトピックでは、MFPlay でオーディオ/ビデオ効果を使用する方法について説明します。

MFPlay で効果を使用するには、効果を Media Foundation 変換 (MFT) として実装する必要があります。 詳細については、「 Media Foundation Transforms」を参照してください。

オーディオまたはビデオ効果を追加するには

  1. 効果を実装する MFT のインスタンスを作成します。
  2. IMFPMediaPlayer::InsertEffect を呼び出します。

再生のためにメディア ファイルを開く前に 、InsertEffect を呼び出します。 MFPlay は、効果がビデオ効果かオーディオ効果かを自動的に決定します。

InsertEffect メソッドは、効果が省略可能か必須かを指定するブール型パラメーターも受け取ります。 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 が必要です。

オーディオ/ビデオ再生に MFPlay を使用する