2014-09-23 3 views
0

У меня есть массив видеороликов, и я хотел бы загрузить их в установленный видеоплеер, который в настоящее время находится на странице. Вот что у меня есть:Загрузка видеоигры HTML5 из ​​Array

var current = 0; 

var videos = ["01", "02", "03", "04"]; 

function shuffle(array) { 
    var currentIndex = array.length, temporaryValue, randomIndex ; 

    // While there remain elements to shuffle... 
    while (0 !== currentIndex) { 

    // Pick a remaining element... 
    randomIndex = Math.floor(Math.random() * currentIndex); 
    currentIndex -= 1; 

    // And swap it with the current element. 
    temporaryValue = array[currentIndex]; 
    array[currentIndex] = array[randomIndex]; 
    array[randomIndex] = temporaryValue; 
    } 

    return array; 

} 

function shuffleAll(){ 
    shuffle(videos); 
} 

function loadVideo(){ 
    var video = document.getElementById('video'); 
    var mp4 = document.getElementById('mp4'); 
    d = new Date(); 

    mp4.src = "videos/" + videos[current] + '.mp4'; 
    alert(mp4.src); 
    video.load(); 
    video.play(); 

} 

И мой HTML:

<body onLoad="shuffleAll()"> 

<a href="" onClick="javascript:loadVideo();">Load Video</a><br> 
<video id="video" controls width="560"> 
    <source id="mp4" type="video/mp4" /> 
</video> 
</body> 

Но я нажимаю мой Load Video Button, и он ничего не делает. Что мне не хватает?

ответ

1

Вам необходимо приостановить видео, затем загрузить видео и воспроизвести его. На самом деле это сложный сын. Вам нужно добавить слушателя к videobutton (изменение источника с помощью рандомизации или что-то)

videobutton.addEventListener("click", function(event) { 
    video.pause(); 
    mp4.setAttribute('src', 'videos/' + videos[current] + '.mp4'); 
    video.load(); 
    video.play(); 
},false); 

Это будет работать.

var current = 0; 

var videos = ["01", "02", "03", "04"]; 

function shuffle(array) { 
var currentIndex = array.length, temporaryValue, randomIndex ; 
// While there remain elements to shuffle... 
while (0 !== currentIndex) { 
// Pick a remaining element... 
randomIndex = Math.floor(Math.random() * currentIndex); 
currentIndex -= 1; 
// And swap it with the current element. 
temporaryValue = array[currentIndex]; 
array[currentIndex] = array[randomIndex]; 
array[randomIndex] = temporaryValue; 
} 

return array; 

} 

function shuffleAll(){ 
    shuffle(videos); 
} 

function loadVideo(){ 
    var video = document.getElementById('video'); 
    var mp4 = document.getElementById('mp4'); 
    d = new Date(); 
    video.pause(); 
    mp4.setAttribute('src', 'videos/' + videos[current] + '.mp4'); 
    video.load(); 
    video.play(); 
} 
+0

является видеообъектом класса или идентификатора? Nevermind ... Я идиот ... – Murphy1976

+0

Нет, это кешированный объект. поэтому скажите, что ваша кнопка '

', поэтому наша видеообъявления будет 'var videobutton = document.getElementById ('next'); Я исправлю его для работы с вашим – EasyBB

+0

Мне понадобится jQuery для этого, да. – Murphy1976

Смежные вопросы