我正在 HTML5 音频中实现音效,但过了一会儿,它就停止播放任何音频。文件类型是正确的,因为它开始时很好,但后来似乎放弃了。
var sound = new Audio(url);
function play() {
sound.play();
}
有没有更好的方法来做到这一点,让它始终如一地播放声音?
这是我的实现的链接。通过多次按下空格键直到它最终放弃(也可以拍摄灯光以增加声音)来轻松重现。 http://craftyjs.com/elevatoraction/
我在最新版本的 Chrome (8.0) 中出现这种情况
编辑:我按照 Gaurav 的建议做了,只播放了每个声音文件的相同实例,但出现了同样的问题。它会任意停止播放。
编辑 2: 我刚刚注意到,每当我尝试播放声音时,networkState
始终是 1
,根据 this意味着它还没有完全加载。这很奇怪,因为它有时仍在播放,即使在播放时 networkState
始终为 1
最佳答案
不要在每次要播放声音时都创建新的音频对象,重复使用相同的资源。
var sound1 = new Audio(url);
function playSound1() {
sound1.play();
}
我认为这与错误 http://code.google.com/p/chromium/issues/detail?id=57070 有关
关于javascript - HTML5 音频随机播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435009/