2012-11-14 138 views
2

我是html5的新手。我創建了一個默認加載視頻的html頁面。我需要創建一個帶有按鈕播放/暫停,下一個和上一個以及一系列視頻的html頁面。點擊下一個按鈕,數組中的下一個視頻應該被加載,類似於前一個按鈕。html5:上一個/下一個按鈕播放前後視頻

我已經使用html5標記來調用第一個視頻(它加載在屏幕上)。我可以實現下一個和上一個按鈕功能。我怎樣才能創建一個視頻陣列,我怎麼稱呼他們。

任何幫助,將不勝感激。

<video id="video1" class="container1" preload="auto"controls="controls" tabindex="0" > 
<source id="v1" type="video/mp4" codecs="avc1.42E01E, mp4a.40.2" src="videos\mov_bbb.mp4"></source> 
<source id="v2" type="video/ogg" codecs="theora, vorbis" src="videos\mov_bbb.ogv"></source> 
<source id="v3" type="video/webm" codecs="vp8, vorbis" src="videos\mov_bbb.webm"></source> 
</video> 
+0

我最近在一個類似的代碼工作,我不需要任何'source'標籤,全部都是在JavaScript中管理的。 – Malloc

+0

@Malloc謝謝。將改變'source'標籤並在JavaScript中設置數組。但每個視頻都有三種格式。如果瀏覽器發生變化,我只需要調用視頻格式中的一個。此時,索引的增量會導致列表中的下一個視頻。如何跳到列表中的下一個視頻 – suvi

回答

0

你可以通過設置兩個按鈕並觸發一個事件來改變視頻元素的來源。這樣你只需要一個html5視頻元素。 JavaScript代碼看起來像如下:

var player = document.querySelector('#video'); 
var i = 0; 
var back = document.querySelector('#back'); 
var next = document.querySelector('#next'); 
var videos = [ // here is your list of videos 
    'video1.mp4', 
    'video2.mp4', 
    '...' 
]; 

back.addEventListener('click',function(){ 
    player.src = videos[i == 0 ? videos.length-- : i--]; 
    video.play(); 
},false); 

next.addEventListener('click',function(){ 
    player.src = videos[i == videos.length-- ? 0 : i++]; 
    video.play(); 
},false); 

player.src = videos[i]; 
player.play(); //init the video player 
+0

感謝您的即時答覆。我仍在努力。我有三種不同格式的視頻來獲得不同瀏覽器的支持。這是我創建視頻標籤的方式。 – suvi

+0

suvi

+0

@對不起,ima新用戶在此forum.sorry由於引起的不便 – suvi

0
在你的HTML視頻容器

<video id='currentVideo'></video> 

JavaScript代碼:

//Global variable for the current video name 
var currentVideoName='video1.avi'; 

var videoList=['video1.avi','video2.mp4','video3.mpg']; 
var myVideo = document.getElementById('currentVideo'); 

var index = videoList.indexOf(window.currentVideoName); 

//Next button 
myVideo.pause(); 
myVideo.currentTime=0; 
myVideo.src = 'videosDirectory/'+videoList[index+1]; 
window.currentVideoName=videoList[index+1]; 
myVideo.play(); 

//Pause button 
myVideo.pause(); 

//Previous button 
myVideo.pause(); 
myVideo.currentTime=0; 
myVideo.src = 'videosDirectory/'+videoList[index-1]; 
window.currentVideoName=videoList[index-1]; 
myVideo.play(); 

//Play button 
myVideo.play(); 
+0

謝謝爲答覆。我不清楚「currentVideoName ='video1.avi'」。視頻格式會根據瀏覽器改變,所以這不能設置爲靜態的權利?請糾正我,如果我錯了 – suvi

+0

嗯,我測試與'mp4'格式,它可以與'IE9','FF'和'Chrome'一起使用,您可以將'currentVideoName = video1.avi'改爲'currentVideoName = video1.mp4',並嘗試使用所有瀏覽器。 – Malloc

+0

好的。我會試一試。謝謝。將更新您的結果 – suvi

相關問題