2

我有一个应该播放音频文件的 C# 程序。我已经弄清楚如何使用 DirectShow 播放 Windows 具有编解码器的任何声音文件,但现在我想正确填写“打开”对话框上的文件类型过滤器框。我想自动列出 Windows 具有编解码器的任何文件格式。如果某个随机用户安装了一个晦涩格式的编解码器,则其相关的扩展名和文件类型描述需要显示在列表中。

有任何想法吗?

4

4 回答 4

2

如果我没记错的话,编解码器不知道它支持哪些文件类型,即文件扩展名,因为编解码器将一些流作为输入,而不是实际的文件。因此,如果您想要显示支持的音频文件格式的文件扩展名,除非您拥有大量文件扩展名和相关编解码器的列表,否则您很可能会不走运,但即便如此,您也会遇到容器问题格式等等。

例如,我的 Windows Media Player 可以愉快地播放 m4b 文件,但对它们一无所知。我必须手动将它与文件类型相关联。

于 2008-09-29T20:40:58.660 回答
0

您可以使用NAudio开源 .NET 音频库来枚举系统上安装的所有 ACM 编解码器。看看AcmDriver课堂。

于 2008-10-19T20:40:12.953 回答
0

只需使用 mm 编解码器 api。永远不要使用注册表。

于 2008-09-30T06:53:14.960 回答
0

您可以在 Windows 注册表中查找内容类型为“audio/*”的所有文件类型。具体来说,查看 HKCR/Software/*/Content Type 下的所有键。

于 2008-09-30T02:29:53.643 回答