我使用 AudioNode 来解码我网页上的 MP3 文件。我使用的工具是Plucked。我还用 SoX 编辑我的 MP3 文件。
因为结果不同,所以我用一个 MP3 文件(xx.mp3)做了一个测试。我通过Plucked
( AudioNode.AudioContext.decodeAudioData() )获得了 xx.mp3 的信息:
Samples: 46731
Length(seconds): 1.0596598386764526
然后我运行sox xx.mp3 -n stat
:
Samples: 49536
Length(seconds): 1.123265
Sample Rate 的两个结果都是:44100
为什么结果不一样?
我用下面的例子再次测试:https ://github.com/mdn/decode-audio-data
样本号的结果又是 46731。
我用其他工具测试,比如Audacity,数字是49536。
所以我认为 JavaScript 有问题AudioContext decodeAudioData()
更新:
不同浏览器的结果如下:
Safari(OS X):46731
铬(OS X):46731
火狐(OS X):47855
铬(Win7):50863
Safari(iOS 9):46731
我在 Node.js 中使用web-audio-api再试一次。
结果AudioNode.AudioContext.decodeAudioData()
是49536
。
我真的不知道为什么...