根据Windows SDK中的解码器示例,我实现了自己的解码器MFT,但是有一个关于第三方MFT的问题。我注册了一个amr编解码器MFT,用windows示例代码调试),手动连接拓扑,它可以正常播放。但是如果我运行windows media player,它就不会播放包含amr编解码器的文件。
我该怎么办? Windows媒体播放器可以自动调用我的编解码器MFT。
其他问题是关于MERIT,如directshow。
答案 0 :(得分:0)
您是否使用MFTRegister
as MSDN suggests注册了MFT?
注册MFT
注册Media Foundation转换(MFT)时,有两种类型 信息写入注册表:
[...]
要在注册表中创建MFT枚举条目,请调用 MFTRegister功能。您可以包含以下信息 MFT:
[...]
这是使应用程序可以发现您的MFT的方法。
答案 1 :(得分:0)
尽管您可能会注册解码器MFT以用于MF组件,但您必须注意不能覆盖媒体播放器的某些默认设置(例如用于预定义mpeg4或h264等视频格式的解码器MFT)。
只有自定义播放器可以使用 IMFPluginControl.SetPreferredClsid()
定义其首选解码器MFT