在制作视频观看页面时,在视频尚未结束之前关闭视频,需要记录当前播放的时长,以便下次点击同一个视频时,获取上次播放的时间,继续播放。在使用video.currentTime在电脑端和安卓都能正常播放,但是在IOS设备上无法播放,每次从头开始播放。查了百度后才知道IOS需要进行设置的设置:安卓是页面加载时触发;IOS是视频play()后才触发。
注:$myVideo.addEventListener("canplay",function() {});
所以需要分开实现,代码如下:
//判断是否安卓设备
function isAndroid(){
var u = navigator.userAgent;
if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1){
return true;
}
}
$(function(){
var $myVideo = $("#chatAudio")[0];
if(isAndroid()){
if(sessionStorage.currentTime > 0.1){
//设置播放时间
$myVideo.currentTime = sessionStorage.currentTime;
}
}else{
if(sessionStorage.currentTime > 0.1){
//已准备好开始播放
$myVideo.addEventListener("canplay",function() {
//设置播放时间
$myVideo.currentTime = sessionStorage.currentTime;
});
}
}
//保存已播放的时间
$myVideo.addEventListener("timeupdate", function(){
sessionStorage.currentTime = $myVideo.currentTime;
}, false);
})