首页 > 解决方案 > 如何使用 InsertEffect 将 MFT 音频效果动态添加到 MFPMediaPlayer?

问题描述

我正在编写一个允许在播放时添加音频效果的 WINAPI 应用程序。我编写了一个与这个非常相似的简单音频播放器。这是开始播放音频的函数的代码。

HRESULT PlayMediaFile(HWND hwnd, const WCHAR *sURL)
{
    HRESULT hr = S_OK;

    // Create the MFPlayer object.
    if (g_pPlayer == NULL)
    {
        g_pPlayerCB = new (std::nothrow) MediaPlayerCallback();

        if (g_pPlayerCB == NULL)
        {
            hr = E_OUTOFMEMORY;
            goto done;
        }

        hr = MFPCreateMediaPlayer(
            NULL,
            FALSE,          // Start playback automatically?
            0,              // Flags
            g_pPlayerCB,    // Callback pointer
            hwnd,           // Video window
            &g_pPlayer
            );

        if (FAILED(hr)) { goto done; }
    }

    // Create a new media item for this URL.
    hr = g_pPlayer->CreateMediaItemFromURL(sURL, FALSE, 0, NULL);

done:
    return hr;
}

我现在想实现一个函数,允许在播放的帮助下添加这个 Media Foundation Transform 音频效果InsertEffect,就像在这里完成的那样。有什么步骤来做。

标签: c++winapims-media-foundation

解决方案


推荐阅读