我正在运行Media Foundation示例示例MFPlayer来呈现URL mms://。
错误代码MF_E_INVALIDMEDIATYPE
失败了。
在此示例的GetMajorType中,键入的内容为MFMediaType_Image
,而不是MFMediaType_Video
。
出现MFMediaType_Image
即使是视频文件的任何原因?
如果它是MFMediaType_Image
,如何处理?我尝试过使用相同的代码
它用于呈现视频,但因ERROR 0xc00d5214
(MF_E_TOPO_UNSUPPORTED
)而失败。
如果我在wmplayer中播放相同的mms://,它不使用Media Foundation,它使用直接显示来播放相同的内容。在直接显示它使用wmrender源过滤器,我无法使用,因为没有信息如何使用它。这个wmrender源过滤器实际上做了什么?如何在我的应用程序中使用/创建相同的文件?
我尝试使用topoedit进行渲染。它会引发错误,说明无效的媒体类型。我在媒体基金会上阅读了MMS协议is supported,而不是在topoedit中失败了吗?
答案 0 :(得分:0)
首先:
在Windows Media Player中播放mms://时,过滤器图形如下所示:
WMP使用DirectShow这一事实表明它无法通过Media Foundation设置回放。此图上的源过滤器的CLSID不公开,它是Windows Media Player的内部类:未记录,甚至不适用于第三方应用程序。
这给你两个选择:
我已阅读Media Foundation支持MMS协议
MSDN文章说mms:// URL被接受通过翻转来协商RTSP / HTTP协议(在哪里,如果可用!)。