【发布时间】:2017-03-17 05:33:48
【问题描述】:
我正在使用 Windows Media Foundation 创建示例应用程序。
我使用 Source Reader IMFSourceReader 读取媒体文件,然后在使用自定义 MFT IMFTransform 处理样本 IMFSamples 之后。
在 MFT 中,我处理了 IMFSamples,如何在窗口中播放/显示它们。我不想使用 EVR 进行显示。
我也读过这个问题:
How to play IMFMediaSample in media foundation?
根据我的建议,我需要使用MFPlay 来播放样本,但具体如何做到这一点。
在界面IMFPMediaPlayer我找不到任何可以推送媒体样本的方法。
https://msdn.microsoft.com/en-us/library/windows/desktop/dd374329(v=vs.85).aspx
【问题讨论】:
-
如果 IMFSample 包含 DXGI 或 D3D9 表面,您可以使用 DX 显示它。否则,您可以使用 GDI 将 IMFMediaBuffer 显示到窗口中。这是你需要的吗?
-
@VuVirt :我如何找到 IMFSample 是否包含 DXGI 或 D3D9 表面。还有我们如何使用 GDI 在窗口中显示 IMFMediaBuffer,如果你有任何例子。我有一个自定义混合器,它在视频样本中混合一个图像并生成样本。我需要在视频窗口中显示此示例。
标签: c++ winapi video ms-media-foundation