【问题标题】:how windows media player call third-party Decoder MFT?windows media player如何调用第三方解码器MFT?
【发布时间】:2012-03-23 09:42:09
【问题描述】:

根据Windows SDK中的解码器示例,我自己实现了解码器MFT,但是关于第三方MFT有一个问题。我注册了一个amr编解码器MFT,用windows示例代码调试),手动连接拓扑,可以正常播放。但是如果我运行 windows 媒体播放器,它不会播放包含 amr 编解码器的文件。

我该怎么办? Windows 媒体播放器可以自动调用我的编解码器 MFT。

其他问题是关于 MERIT 的,例如 directshow。

【问题讨论】:

    标签: ms-media-foundation windows-media-player


    【解决方案1】:

    您是否在 MFTRegister as MSDN suggests 注册您的 MFT?

    注册 MFT

    当您注册媒体基础转换 (MFT) 时,有两种类型的 信息被写入注册表:

    [...]

    要在注册表中创建 MFT 枚举条目,请调用 MFTRegister 函数。您可以包含以下信息 MFT:

    [...]

    这是让应用程序可以发现您的 MFT 的方法。

    【讨论】:

    • 感谢您的回复。我正在根据小码(解码器)注册MFT,与MSDN相同。如果我手动连接我的 MFT,topoedit.exe 也可以使用我的 amr 编解码器 MFT 播放文件。我在互联网上研究了这个问题。有人说第三方MFT只供第三方自己的播放器app使用。所以我想知道确定吗?为什么windows media player不能像directshow过滤器一样调用第三方MFT?谢谢!
    【解决方案2】:

    尽管您可以注册解码器 MFT 以与 MF 组件一起使用,但您必须注意不能覆盖媒体播放器的某些默认设置(例如用于预定义视频格式(如 mpeg4 或 h264)的解码器 MFT)。

    只有自定义播放器可以使用 IMFPluginControl.SetPreferredClsid()

    定义他们首选的解码器 MFT

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多