当您刷新页面时,您的音频将从头开始。如果你真的需要从你离开的地方开始,你必须将播放位置存储在 cookie 中。也可以通过将位置存储在服务器上来完成,但如果在缓存整个音频文件时连接丢失,它将无法工作。
- 使用
timeupdate
音频标签中的事件将让您知道当前播放位置何时发生变化。这个播放位置应该改变
- 使用 cookie 存储播放位置。如果您使用不同的音频文件,您也可以将音频文件名与 cookie 一起存储,以便区分音频文件是否已更改。
- 当页面加载完毕且存在特定音频文件的 cookie 时,从 cookie 中的播放位置开始,否则从头开始。
前提是您有以下代码:
<audio id="main_audio" <?php echo $autoplaynf;?> preload="auto" loop="loop">
<embed hidden="true" autostart="true" loop="true" src="audio.mp3" />
</audio>
您可以添加 javascript(不确定您是否使用 jQuery)来执行上述操作。请注意,这必须仅在加载音频标签后执行。请注意,这只是伪代码。尝试将其用作完成工作的指南。
// when page is loaded do the following actions
var atag = document.getElementById("main_audio");
atag.addEventListener("timeupdate", timeUpdateEvent, false);
// check if coockie exists
var timePos = readCookie();
atag.currentPos = timePos;
function timeUpdateEvent(event) {
// get time position from audio tag
// store cookie
}
function readCookie() {
// read the cookie and return time value
// of cookie does not exist return a timevalue
// that will let the audio start from the beginning
}
对于存储、读取和删除 cookie,我参考了这个答案。可能还有更多的例子。