我的代码完美地工作除了这样一个事实,即它不会暂停轨道,而是回到轨道的开头。
这是我的代码:
var audio=new Audio();
var hezi=document.querySelector('#player>.button.hand');
var gangina=("textContent" in document)?"textContent":"innerText";
hezi.addEventListener
(
'click',
function()
{
if(audio.paused)
{
audio.src="Nadav Guedj - Golden Boy (Eurovision 2015 - Israel - Karaoke).mp3";
hezi.innerHTML="►";
audio.play();
}
else
{
hezi.innerHTML="||";
audio.pause();
}
}
);
我将假设要解决此问题,我需要使用audio.currentTime
存储该曲目的window.setInterval
值,并使用最后audio.currentTime
值来播放该曲目停止的最后一点,但我很想知道是否有大陆方式使暂停/播放按钮功能正常(更不用说如果我通过window.setInterval
存储最后一个值的事实,它将不是100%准确,因为我依赖于间隔值,而不是用户暂停轨道的确切特定点。)
答案 0 :(得分:2)
由于这一行,它将回到起点,
audio.src="Nadav Guedj - Golden Boy (Eurovision 2015 - Israel - Karaoke).mp3";
删除它,然后audio.play将从您暂停的地方继续。 fiddle demo
答案 1 :(得分:1)
当用户暂停播放器时,尝试在click事件处理程序中将currentTime存储在变量中。
通过这种方式,您可以获得音乐停止的确切时刻,只需将其存储在对象范围内的变量上。