现象:播放中断 拖动进度条后才能继续播放
每次获取缓存长度
判断1:播放长度如果大于缓存长度 就把播放长度赋值给自定义变量 标记停止时间 然后把改变音频播放长度+1并暂停
判断2:如果自定义变量标记的停止时间不为0 则改变音频播放长度=停止时间的值 再将停止时间=0并播放
//解决部分手机无法播放完整
var mediaTime = 0;
var stopTime = 0;
audioInterval = setInterval(function () {
mediaTime = $player[0].currentTime;
var buffered = !!$player[0].buffered.length ? $player[0].buffered.end($player[0].buffered.length-1) : 0;
if(mediaTime>10 && mediaTime+1>=buffered && mediaTime+1<$player[0].duration){
if(stopTime==0){
stopTime = mediaTime;
}
//console.log('stopped');
$player[0].currentTime += 1;
$player[0].pause(); //暂停
} else if(stopTime>0 && mediaTime<=buffered && mediaTime<=$player[0].duration){
$player[0].currentTime = stopTime;
stopTime = 0;
$player[0].play(); //播放
}
//console.log(mediaTime,buffered);
}, 100);
//解决部分手机无法播放完整
网友评论