HTML5音频从Firefox中的错误位置开始

Col*_*ard 11 javascript html5

我正在尝试播放mp3文件,我想跳转到文件中的特定位置.在Windows上的Chrome 33中,文件跳转到了正确的位置(与在本地播放mp3的VLC相比),但在Windows上的Firefox 28中,它播放得太远了,在Internet Explorer 11中它播放得太远了.

它曾经在Firefox 27及更早版本中正常工作.

有没有更好的方法呢?


编辑:问题甚至不需要SoundManager2.您只需使用<audio>Firefox中的标记即可复制相同的问题.这两行是重现它所需的所有代码:

<audio autoplay id="audio" src="http://ivdemo.chaseits.co.uk/enron/20050204-4026(7550490)a.mp3" controls preload></audio>
<button onclick="javascript:document.getElementById('audio').currentTime = 10;">Jump to 10 secs "...be with us in, er, 1 minute...  ok" </button>
Run Code Online (Sandbox Code Playgroud)

在这里试试:http://jsfiddle.net/cpickard/29Gt3/

编辑:尝试Firefox夜间,没有任何改进.我在bugzilla 中将其报告为bug 994561.现在仍在寻找解决方法.

Gav*_*aff 6

问题在于mp3 的VBR 编码.

将该mp3下载到磁盘并将其转​​换为固定比特率,比如Audacity.

从磁盘运行示例:

<audio autoplay id="audio" src="./converted.mp3" controls preload></audio>
<button onclick="javascript:document.getElementById('audio').currentTime = 10;">
Jump to 10 secs "...be with us in, er, 1 minute...  ok" </button>
Run Code Online (Sandbox Code Playgroud)

它对我来说很好.

所以我对解决方法的建议是上传一个替代的固定位mp3文件来代替你正在使用的那个.然后它应该在当前的FFx中工作.


OJa*_*Jay 4

我从事SoundJS工作,最近在实现音频精灵时遇到了类似的问题。根据规范,设置 html 音频播放头的位置最多可能会出现 300 毫秒的误差。这可以解释您所看到的一些问题。

有趣的是,如果我从一开始就让它播放的话,你的小提琴在 FF 28 on win 8.1 中对我来说是正确的。

还有一些与音频长度准确性有关的已知问题也可能会产生影响,您可以在此处阅读相关内容。

如果您想要精确度,我绝对建议尽可能使用 Web Audio 或像 SoundJS 这样的库。

希望有帮助。