我正在使用Windows Media Foundation C++播放音频和视频文件。
我的应用程序很大程度上基于Media Foundation指南http://msdn.microsoft.com/en-us/library/ms697062%28v=VS.85%29.aspx

我的问题是,当我播放媒体文件时,仅从左扬声器渲染音频。

更多信息:

  • 音频和视频文件均发生此问题。
  • 我的拓 flutter 是经典的输入节点->传输节点->输出节点。
    音频流在Output-Node的输出中看起来还不错(这是一个float32流,对于正确的扬声器,它没有交织的零)。
  • 拓 flutter 中的“传输节点”用于将来的均衡器,但当前它什么也不做。即使从拓 flutter 中删除它,仍然会出现问题。

  • 我想这个问题可能是由于Media Foundation的某些错误配置而发生的,但是相对于Media Foundation指南,我没有发现任何乱序。

    知道可能是什么问题吗?
    我很乐意分享相关的代码示例或提供有关实现的任何其他相关信息。

    谢谢。

    最佳答案

    听起来您的源节点正在提供单通道数据流,或者输出节点的输入媒体类型是单通道。如果是后一种情况,则媒体 session 将注入(inject)一个转换,该转换将输入流降混到单个通道以符合媒体类型。

    我将检查两个节点的媒体类型,看看是否是问题所在。

    关于c++ - Windows Media Foundation-正确的扬声器不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43841480/

    10-13 08:26