HTML5音频 – 声音仅播放一次
我正在使用Chrome,这是我的代码:
$('.sound').live('click', function () { var sound = $("#letter_audio")[0]; sound.pause(); sound.currentTime = 0; sound.play(); return false; });
我第一次点击播放时声音怎么播放。 然后当我再次点击时,它会暂停,就像代码一样。 但它只是暂停? 我想要它播放,然后当我再次点击它时,回到0并再次播放,如代码中所示?
我在重放音频方面遇到了类似的问题,但是在play()
调用之前通过调用load()
方法设法解决了这个问题。 试试这个:
$('.sound').live('click', function () { var sound = $("#letter_audio")[0]; sound.load(); sound.play(); return false; });
我认为这比重置src
属性要好两个原因:
- 将
src
值保留在页面内容中,而不是在JavaScript中 -
嵌入多个不同音频格式的
元素时有效:
试试这个..基本上,重置src
属性应该根据需要重置音频。
$('.sound').live('click', function () { var sound = $("#letter_audio")[0]; sound.src = "audio/bomb.mp3"; sound.play(); return false; });
似乎暂时currentTime属性是只读的(在2011年它有一个不会修复的状态 )
然而,在你的音频对象上设置src
(再次) – 就像@Lloyd提出的那样 – currentTime属性变得可设置(至少在Linux的当前chrome版本(24.0.1312.69)上)。
这意味着加入奇怪的线条
audio.src = audio.src
你的例子做了它应该做的事情。
在全:
$('.sound').live('click', function () { var sound = $("#letter_audio")[0]; sound.src = sound.src; sound.pause(); sound.currentTime = 0; sound.play(); return false; });
因为它足够设置src
一次,你可能想在安装过程中的某个地方调用它。
您可以使用php在time()的末尾添加查询;
适合我。