Tag: mediainfo

如何在C#中读取.wav文件的比特率

鉴于我有一个.wav文件,在C#中读取其比特率属性的最佳方法是什么。 我试过Shell,并问了一个问题是“比特率”属性是否固定在索引28中? 没有asnwers所以。 此外,我现在相信Shell不是读取音频文件属性的最佳方式。 我研究过不同的开源媒体库,但是找不到多少。 TagLib#:这个工作正常,但有两个问题。 在比特率非常低(如小于30)的某些情况下,它不反映实际比特率,它只返回0.其次,我不确定是否可以将其用于商业用途。 许可证说http://opensource.org/licenses/LGPL-2.1 NAudio:只是不暴露任何属性来读取比特率,所以我必须计算它。 经过研究,我得到了这个公式来计算比特率。 bitrate = Samplerate * Channels * BitsPerSample。 这在大多数情况下都可以正常工作,但是如果某些.wav文件的BitsPerSample = 0则会失败。 是的文件绝对没问题,我可以播放,但BitsPerSample仍为0。 MediaInfo:再次没有直接属性,必须循环遍历音频文件的所有属性,然后搜索“整体比特率”。 而且必须在项目中添加两个dll,一个是.net包装器,另一个是实际的dll。 为这么长的总结道歉,但我不想问“嘿我怎么能得到音频文件的比特率”而不显示我已经做过的事情。 那么,如果你有一个.wav音频文件,你会用什么库/方法来获得比特率?