Так что меня очень смущает preload js и почему видео не работают. Я пробовал несколько способов, и самое близкое, что я могу найти, - это предварительный просмотр показываемого видео, хотя они вообще не воспроизводятся. (Я пропустил код, не имеющий отношения к видео). Мне нужно, чтобы каждое видео go было помещено в конкретный c div, потому что к этому div прикреплена другая информация относительно этого видео. На самом деле, похоже, что я не могу найти много документации по видео и предварительной загрузке js.
var queue = new createjs.LoadQueue(false);
queue.on('fileload', handleFileComplete);
queue.loadManifest([
{src:'experimental/sphere.mp4', id:'sphere'},
{src:'experimental/calculator.mp4', id:'calculator'},
{src:'experimental/night-sky.mp4', id:'night-sky'},
{src:'experimental/world.mp4', id:'world'},
{src:'experimental/slider.mp4', id:'slider'},
{src:'experimental/pc-buttons.mp4', id:'buttons'}
]);
var targets = new Array;
function handleFileComplete(){
targets = [queue.getResult("sphere"),
queue.getResult("calculator"),
queue.getResult("night-sky"),
queue.getResult("world"),
queue.getResult("slider"),
queue.getResult("buttons")];
}
function setAttributes(el, options) {
Object.keys(options).forEach(function(attr) {
el.setAttribute(attr, options[attr]);
})
}
queue.on('complete', () => {
let vidDivs = document.getElementsByClassName('experiment_video');
let vidDivsArr = Array.from(vidDivs);
vidDivsArr.forEach( (item, index) => {
var video = document.createElement('video');
var source = document.createElement('source');
source.setAttribute('type', 'video/mp4');
setAttributes(video, { autoplay: "true", muted: "true", loop: "true"});
var src = targets[index].getAttribute('src');
source.setAttribute('src', src);
video.append(source);
vidDivs[index].append(video);
})
});