www.graysonearle.com/bluemen/index2.html でこの楽しい Web プロジェクトを作成していて、さまざまな問題に直面しています。SO の誰かが、再生する前にビデオがロードされていることを確認するのを手伝ってくれましたが、この解決策は Chrome でしか機能しません。コードは次のとおりです。
for (var i=0;i<16;i++) {
document.write('<div class="vidBox" id="box'+i+'">');
document.write(' <video class="vid" loop="loop" preload="metadata" id="vid'+i+'">');
document.write(' <\/video>');
document.write('<\/div>');
}
var xhr = new XMLHttpRequest();
xhr.open('GET', 'videos/fullvid' + ext, true);
xhr.responseType = 'blob';
xhr.onload = function(e) {
if (this.status == 200) {
console.log("got it");
var myBlob = this.response;
var vid = (window.webkitURL ? webkitURL : URL).createObjectURL(myBlob);
// myBlob is now the blob that the object URL pointed to.
for (var i=0;i<16;i++) {
display(i,vid)
}
}
};
xhr.send();
function display(i,vid){
var video = document.getElementById("vid"+i);
console.log(video);
video.src = vid;
}
編集:明確にするために、必ずしも自動再生せずに、この4x4グリッドのビデオをロードする必要があります(後でロード画面を追加する可能性があります)。ロードしたら、[PLAY ALL] をクリックすると、すべてが一度に再生されます。FISH をクリックすると、ムービー グリッドにパターンが作成されます。