4

我正在为Google Chrome编写扩展程序。我有一种情况:我有一个mp3文件的链接,我可以播放它。我可以提取它的持续时间..html5音频。如何获得比特率

但我怎么能计算比特率?是否有可能通过一些属性?或通过一些使用文件大小的计算?如果第二个 - 如何获得文件大小?

谢谢。

+0

有没有更新?我做了一些研究并在下面分享。 – 2012-07-25 03:01:43

+0

我发现唯一的解决方案,使用'HEAD'类型发出Ajax请求,并在..知道文件大小后很容易计算比特率...但似乎它是可怕的解决方案。当然它适用于域限制 – ValeriiVasin 2012-07-25 06:54:12

+0

您是否使用HEAD请求中的Content-Length标头?我在下面更新了我的答案。 – 2012-07-25 14:09:17

回答

6

更新:

做一个HEAD请求,并从Content-Length header文件大小。既然你知道持续时间,你就可以计算出比特率。

研究:

在这里,我想分享一些我的研究。

您可能已经知道这一点 - 根据the MP3 format specification将比特率存储在内部。但我相信你宁愿不读档案,自己处理所有这些!希望你可以找到工具或API来提供帮助。考虑到这一点......

  • 我环顾四周寻找公共Web API,它将提取MP3的信息,但没有找到任何跳出我的东西。

  • 如果您可以找到您可以从Chrome访问的ExifTool版本,则它具有计算比特率的API。

  • 有一个叫做SoundManager的Javascript库看起来很有前途,但它并不能准确计算比特率。

  • 我看着Web Audio API,但没有看到特别提到读MP3文件,因此没有办法提取比特率。

+0

我一直在寻找无处不在,找到一个非常类似的问题的答案。我希望能够使用JS/HTML5来提取mp3音频信息,比如比特率,采样率等。有没有一种方法可以获得所有这些信息?我甚至不需要阅读它,我只想识别唯一的文件。 – PixMach 2015-05-02 18:58:10