#android で videoタグを一時停止のまま連続でseekすると反応が遅くなる
div ie="seek" ボタンをclickすると0.1秒ずつvideoのcurrentTimeが増えるコードなのですが
- iOS(ipad,iphoneの11.2以上のsafari,chrome)
- PC(chrome最新,edge最新)
ではclickして0.1秒以内ぐらいのほぼ同時に見える時間差でseekしてくれるのですが、androidのchrome最新では10回ほど連打したあと1秒以上かかってからtimeupdateとseekedイベントが呼ばれてseekが完了するようになってしまいます。ゆっくりの間隔でクリックするとiOSやPCのような時間差でずっとseekしてくれるのですが。
- 動画は停止した状態で0.1秒ずつseekしたい
- 連打しても連打した回数分0.1秒ずつseekさせたい
- inline再生
androidの仕様なのか、他どんな環境で起こることなのか、対策など教えていただきたくよろしくお願いいたします。
html
1<div class="wrap" style=""> 2 <div id="play" style="background-color:red;"><p>play</p></div> 3 <div id="pause" style="background-color:skyblue;"><p>pause</p></div> 4 <div id="seek" style="background-color:pink;"><p>seek</p></div> 5 <div id="seek0" style="background-color:gray;"><p>seek0</p></div> 6</div> 7 <div id="container" class="container"> 8 <video id="video" class="video" width="1366" height="768" playsinline="" muted=""> 9 <source src="https://res.cloudinary.com/dofcsz0es/video/upload/v1531745063/aaa.mp4"> 10 </video> 11 12</div>
javascript
1let v = document.getElementById("video"); 2v.controls = false; 3//jquery 4jQuery(window).load(function(){ 5//touchstart 6 7 $("#play").on("click",function(){ 8 v.play(); 9// console.log("play==" + v.currentTime); 10// $("#play p").text("play==" + v.currentTime); 11 }); 12 $("#pause").on("click",function(){ 13 v.pause(); 14// console.log("pause==" + v.currentTime); 15// $("#pause p").text("pause==" + v.currentTime); 16 }); 17 $("#seek0").on("click",function(){ 18// v.pause(); 19// v.currentTime = 0; 20// console.log("seek0==" + v.currentTime); 21// $("#seek0 p").text("seek0==" + v.currentTime); 22 }); 23 $("#seek").on("click",function(){ 24 currentTimeCount ++; 25 v.currentTime = currentTimeCount*0.1; 26// console.log("seek==" + v.currentTime); 27// $("#seek p").text("seek==" + v.currentTime); 28 }); 29 30});
あなたの回答
tips
プレビュー