代码之家  ›  专栏  ›  技术社区  ›  Simple

使用Media Foundation API禁用特定解码器

  •  0
  • Simple  · 技术社区  · 4 年前

    Media Foundation API ,如何禁用mp4和mkv文件格式?因此,Windows Media Player将使用第三方解码器来代替mp4和mkv文件格式。(我的情况是这样的 FFDSHOW ,我想用它 H264 mp4和mkv文件格式的解码器,而不是 Media Foundation

    我听说有第三方软件 Codec Tweak Tool 可能是在用 媒体基础API 为了达到这个目的。

    使用 一个Win注册表调试器我找到了一些可能与 媒体基金会 .

    我试图更改以下Win注册表目录中的注册表: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Media Foundation\ByteStreamHandlers\.mkv (Windows10 64位目录),但系统没有给我权限,使用注册表似乎是一种黑客的方法来改变它,但我得到了拒绝访问的方式。我认为这样做不对。我听说我可以用 媒体基础API Media Foundation Transforms 或者 Source Resolver ,但我不知道如何设置一个合适的对象,以及如何使用API接口来完成这项工作。但是我知道在禁用它之后,我应该设置一个首选的directShow解码器,例如 所以会用它来代替 媒体基金会

    使用后 H264号

    密钥目录: HKLM\SOFTWARE\WOW6432Node\Microsoft\DirectShow\Preferred

    已更改的注册表:

    {31435641-0000-0010-8000-00AA00389B71}
    {34363248-0000-0010-8000-00AA00389B71}
    {34363268-0000-0010-8000-00AA00389B71}
    

    FFD显示 CLSID 对他们每个人: {04FE9017-F873-410E-871E-AB91661A4EF7}

    我还注意到 需要设置首选解码器。

    我得出的结论是使用registry绝对不是实现这一目标的正确方法,那么如何通过使用 ? 我读过 Media Foundation API documentation

    0 回复  |  直到 4 年前