iOSの仕様でweb上で動画を自動再生することはできない。
しかし、いくつかwebページに見てみると自動で再生されているケースがある。
で、全部が全部ではないが、下のようなやり方で再生している場合もあるようだ。
var video = document.createElement('video'); video.style.display = 'none'; document.body.appendChild(video); var canvas = document.getElementById('myCanvas'); var ctx = canvas.getContext("2d"); var ctime = 0; var lastTime; var ua = navigator.userAgent; if(/(iPhone|iPod)/.test(ua)) { // iPadもVideoはインライン再生可能である video.addEventListener('canplay',function(){ lastTime = Date.now(); setInterval(function(){ var curTime = Date.now(); var diff = Date.now() - lastTime; lastTime = curTime; ctime += diff/1000; video.currentTime = ctime; ctx.drawImage(video, 0, 0, 480, 360); if(video.duration <= video.currentTime){ ctime = 0; } }, 1000/30); },false); }else{ video.addEventListener('canplay',function(){ video.play(); video.loop = true; setInterval(function(){ ctx.drawImage(video, 0, 0, 480, 360); }, 1000/30); },false); } video.src = 'sample.mp4'; video.load();これ、実際に試したら動いたのですが、注意点が必要で、chromeでユーザーエージェントをiOSに変更した場合は、動かない。
後、androidは動かないwww
参考
iPhone Safariで動画をインライン再生する方法
0 コメント:
コメントを投稿