Javascript 如何防止chrome/FF下AudioContext.decodeAudioData的差异
我正在使用wavesurfer.js作为我编写的工具。我用它来显示某个mp3文件。我遇到的问题是,如果我在两个浏览器中都加载mp3文件,chrome浏览器中的一个文件一开始就会被切断。我开始调试这个问题,似乎从AudioAPI调用audioContext.decodeAudioData会导致mp3在chrome中被截断,两种情况下的输入都是一致的(一个2781 bytearray进入) 从firefox我得到121248个样本,布局看起来不错,从chrome我得到114330个样本,一开始就被砍掉了 我测试了另一个更长的文件,它也给了我6918个样本缺失的差异 同样的问题也发生在使用FF的linux下,其中返回的样本是124416。(gstreamer插件) (顺便说一句,这些都是可比的,因为系统都使用48kHz输出) 在windows for firefox下解码mp3的插件是vlc插件,因为ff本身由于许可问题无法解码mp3 文件编码为: ID3版本为2.4.0的音频文件,包含:MPEG ADT,第三层,v2.5,24 kbps,8 kHz,单声道 最初它是一个PCM 32kHz单声道文件 我可以想象,由于解码器的不同实现,mp3的样本不一致。(这里回答了我自己的问题) 多个浏览器上的一致性编解码器会产生什么样的一致性?我知道Wav应该会产生类似的结果,对吗? ogg怎么样?我可以假设样本量的一致性,因为代码库应该是相同的,还是样本中的这些差异源于audioAPI在不同浏览器中构建的方式不同(我会说这与API有点反直觉)Javascript 如何防止chrome/FF下AudioContext.decodeAudioData的差异,javascript,google-chrome,firefox,audio,Javascript,Google Chrome,Firefox,Audio,我正在使用wavesurfer.js作为我编写的工具。我用它来显示某个mp3文件。我遇到的问题是,如果我在两个浏览器中都加载mp3文件,chrome浏览器中的一个文件一开始就会被切断。我开始调试这个问题,似乎从AudioAPI调用audioContext.decodeAudioData会导致mp3在chrome中被截断,两种情况下的输入都是一致的(一个2781 bytearray进入) 从firefox我得到121248个样本,布局看起来不错,从chrome我得到114330个样本,一开始就被砍