[英]Get list of available Windows audio file formats
我有一个应该播放音频文件的 C# 程序。 我已经知道如何使用 DirectShow 播放 Windows 具有编解码器的任何声音文件,但现在我想正确填写“打开”对话框中的文件类型过滤器框。 我想自动列出 Windows 具有编解码器的任何文件格式。 如果某个随机用户安装了用于模糊格式的编解码器,则其关联的扩展名和文件类型描述需要显示在列表中。
有任何想法吗?
如果我没记错的话,编解码器不知道它支持哪些文件类型,即文件扩展名,因为编解码器将一些流作为输入而不是实际文件。 因此,如果您想要显示支持的音频文件格式的文件扩展名,除非您有大量的文件扩展名和相关编解码器列表,否则您很可能会走运,但即便如此,您也会遇到容器问题格式等等。
例如,我的 Windows Media Player 愉快地播放 m4b 文件,但对它们一无所知。 我必须手动将它与文件类型相关联。
您可以在 Windows 注册表中查找内容类型为“audio/*”的所有文件类型。 具体来说,查看 HKCR/Software/*/Content Type 下的所有键。
只需使用 mm 编解码器 api。 永远不要使用注册表。
您可以使用NAudio开源 .NET 音频库来枚举系统上安装的所有 ACM 编解码器。 看看AcmDriver
类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.