设置<audio>标签的currentTime不起作用?

fis*_*ood 12 javascript html5 html5-audio

我在后台播放这个音频标签,我可以在几秒钟内将进度存储到cookie中.但是,我无法从该cookie启动音频.(继续在其他页面上)

$("p#sound audio").currentTime = $.cookie("audioTime");

<audio autoplay="autoplay" loop="loop" ontimeupdate="document.getElementById('tracktime').innerHTML = Math.floor(this.currentTime); $.cookie('audioTime', Math.floor(this.currentTime));">
    <source src="audio/song.ogg" type="audio/ogg" />
    <source src="audio/song.mp3" type="audio/mp3" />
    Your browser does not support the audio tag.
</audio>
<span id="tracktime">0</span>
Run Code Online (Sandbox Code Playgroud)

这是否与从头开始重新加载的歌曲有关?

谢谢!

编辑:

$("p#sound audio").get[0].currentTime
Run Code Online (Sandbox Code Playgroud)

使用.get [0],它也不起作用.

有人可以帮我清理一下吗?非常感激!

Bri*_*way 7

audio在设置当前时间之前,您需要等到源加载.

$(function(){
    $('audio').bind('canplay', function(){
        $(this)[0].currentTime = $.cookie('audioTime');
    });
});
Run Code Online (Sandbox Code Playgroud)


Bri*_*ett 5

t=<time>您可以通过添加到 URL来设置开始时间,如下所示:https: //developer.mozilla.org/en-US/docs/Web/Guide/HTML/Using_HTML5_audio_and_video#Specifying_playback_range

例如<audio src="http://example.com/audio.mp3#t=50></audio>