我在我的网站上使用音频(.swf
)文件,它有两个选项:AUDIO ON和AUDIO OFF。我可以打开和关闭音频。问题是音频没有停止。它反复播放。任何人都可以帮助我吗?
另一个问题是,每当我重新加载任何页面时,音频文件都会从头开始播放。我希望它可以从音频先前停止的地方播放。
编辑:添加评论代码
<audio id="main_audio" <?php echo $autoplaynf;?> preload="auto" loop="loop">
<embed hidden="true" autostart="true" loop="true" src="audio.mp3" />
</audio>
答案 0 :(得分:1)
当您刷新页面时,您的音频将从头开始。如果你真的需要从你离开的地方开始,你必须将播放位置存储在cookie中。它也可以通过在服务器上存储位置来完成,但如果在缓存整个音频文件时连接丢失,它将无法工作。
timeupdate
事件可以让您知道当前播放位置的变化。此播放位置应更改如果您有此代码:
<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,我在SO上引用this answer。可能还有更多的例子。