Javascript:: audio.pause 是否将 audio.currentTime 值重置为 0?

Javascript:: Is audio.pause reset audio.currentTime value to 0?

我的代码运行完美除了事实上它没有暂停曲目而是回到曲目的开头。

这是我的代码:

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();
        }

    }
);

我假设要解决这个问题,我需要用 window.setInterval 存储该曲目的 audio.currentTime 值,并使用最后一个 audio.currentTime 值来播放曲目从它停止的最后一点开始,但我想知道是否有大陆方式可以使 pause/play 按钮正常工作(更不用说如果我通过 window.setInterval 存储最后一个值它不会'不是 100% 准确,因为我依赖于间隔值而不是用户暂停曲目的确切的特定点)。

尝试在用户暂停播放器时将点击事件处理程序的当前时间存储在变量中。

这样您就可以获得音乐停止的确切时刻,只需将其存储在对象范围之外的变量中即可。

因为这一行要回到开头,

        audio.src="Nadav Guedj - Golden Boy (Eurovision 2015 - Israel - Karaoke).mp3";

删除它,然后 audio.play 将从您暂停的地方继续。 fiddle demo