【问题标题】:How to enumerate Media Foundation Transforms on Windows 8如何枚举 Windows 8 上的媒体基础转换
【发布时间】:2012-12-21 11:49:30
【问题描述】:

在我的 Windows 应用商店应用程序中,我想对音频文件进行重新采样。 看来,对于这个问题有什么好的解决方案是使用来自 Media Foundation Transforms 的 Resampler 对象。为了得到这个对象,我应该用函数 MFTEnumEx 枚举媒体转换,如下所述: Enumerating MFTs。 但是在认证时我收到这样的错误: 此应用程序类型不支持 mfplat.dll 中的 API MFTEnumEx。

有没有其他方法可以在 Windows 8 上使用转换,或其他方法来重新采样音频文件?

谢谢!

【问题讨论】:

    标签: windows-8 windows-runtime ms-media-foundation


    【解决方案1】:

    请注意,除了开箱即用的本机转换之外,Windows 商店应用转换(例如编解码器)是针对您的应用程序的沙盒。

    如果您使用传统编解码器包设置自定义 MFT,您的 Windows 商店应用将无法使用它。您必须将 MFT 与您的应用程序打包并使其可通过 WinRT 激活(并实现 IMediaExtension)。请记住,MediaExtensions 是 COM/WinRT 混合。

    您在此处有一个受支持格式的列表,我想您最好的选择是在您的应用程序中对其进行硬编码: http://msdn.microsoft.com/en-us/library/windows/apps/hh986969.aspx

    【讨论】:

    • 用应用程序打包 MFT 的例子怎么样?是否可以将标准转码器添加到包中?在msdn.microsoft.com/en-us/library/windows/apps/hh986969.aspx 表中,我看到了带有 PCM 的 WAV 格式。但是我应该如何使用它呢?
    • 您必须实现其他接口才能使您的 MFT 与 Windows 商店应用程序一起使用。那里有样品:code.msdn.microsoft.com/windowsapps/…
    • 开箱即用的 Sink 仅限于以下配置文件:M4a、Mp3、Mp4、Wma、Wmv。但是你可以编写一个支持 Wav 的自定义接收器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多