c# - 无法在 IGraphBuilder.RenderFile 中使用 COM 异常播放 MP3 文件

标签 c# audio mp3 directshow directshow.net

我是直接节目开发的新手。我正在学习有关直播的事情。我正在尝试编写一种播放一些音频文件的方法。它适用于许多 .mp3 文件,但对于我的一些 mp3 文件,接口(interface) IGraphBuilder 的方法 RenderFile() 抛出以下异常

出现 COMException:“由于不支持相同的传输,引脚无法连接。”

我最好的猜测是我缺少一些编解码器来播放这些文件。谁能建议我做错了什么。有什么方法可以选择可以播放这些文件的过滤器。我可以使用 Windows Media Player 播放这些文件,所以我相信我已经安装了所需的编解码器。

任何帮助都将非常有值(value)。

提前致谢。

最佳答案

这是 MP3 文件和读取它们的标准 DirectShow fitler 的一个众所周知的问题。问题是,如果一个文件有一个很大的部分带有 ID3 标签,过滤器可能会放弃将它们跳过到音频数据,这会导致整个播放失败。

如果您以 WM ASF Reader Filter 开头打开这些文件,它们仍然可以正常播放.这假设您手动构建或至少开始构建图表以覆盖默认构建行为。

关于c# - 无法在 IGraphBuilder.RenderFile 中使用 COM 异常播放 MP3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10412073/

相关文章:

c# - MVC 显示目录列表未加载应用程序

C# MySQLDataReader.AffectedRows = -1

matlab - Matlab音频拼接

c++ - 在 Visual Studio 中播放 .wav 文件时出错

security - 如何让用户难以将 mp3 文件从我的站点保存到他们的硬盘?

c++ - C\C++开源Mp3到PCM转换器

c# - Javascript 函数适用于 onclick 但不适用于 onfocus

c# - 复利计算器 - 求解 I 或者是否有更好的公式

audio - 流媒体音频如何在网络上工作?

ios - 我想在iPad上的手机缺口应用程序中自动加载本地视频和音频