是否通过Media Foundation支持mms:// URL?

时间:2013-06-14 10:21:46

标签: winapi directshow mms windows-media-player ms-media-foundation

我正在运行Media Foundation示例示例MFPlayer来呈现URL mms://。

错误代码MF_E_INVALIDMEDIATYPE失败了。

在此示例的GetMajorType中,键入的内容为MFMediaType_Image,而不是MFMediaType_Video

  1. 出现MFMediaType_Image即使是视频文件的任何原因?

  2. 如果它是MFMediaType_Image,如何处理?我尝试过使用相同的代码

  3. 它用于呈现视频,但因ERROR 0xc00d5214MF_E_TOPO_UNSUPPORTED)而失败。

    1. 如果我在wmplayer中播放相同的mms://,它不使用Media Foundation,它使用直接显示来播放相同的内容。在直接显示它使用wmrender源过滤器,我无法使用,因为没有信息如何使用它。这个wmrender源过滤器实际上做了什么?如何在我的应用程序中使用/创建相同的文件?

    2. 我尝试使用topoedit进行渲染。它会引发错误,说明无效的媒体类型。我在媒体基金会上阅读了MMS协议is supported,而不是在topoedit中失败了吗?

1 个答案:

答案 0 :(得分:0)

首先:

在Windows Media Player中播放mms://时,过滤器图形如下所示:

mms:// on WMP

WMP使用DirectShow这一事实表明它无法通过Media Foundation设置回放。此图上的源过滤器的CLSID不公开,它是Windows Media Player的内部类:未记录,甚至不适用于第三方应用程序。

这给你两个选择:

  1. WM ASF Reader Filter
  2. 您的自定义源过滤器基于WM Format SDK
  3.   

    我已阅读Media Foundation支持MMS协议

    MSDN文章说mms:// URL被接受通过翻转来协商RTSP / HTTP协议(在哪里,如果可用!)。