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