1
我已經使用videojs和videojs播放列表插件成功放入了視頻播放列表。在播放視頻時,如果將播放速率從說1更改爲2,則當視頻自動前進到列表中的下一個視頻時,播放率默認爲1,您必須重新調整播放速率。問題是你如何讓playbackRate持續下去?videojs播放列表playbackRate不會在新視頻加載時持續
儘管我可以獲得playbackRate並設置playbackRate,但我無法使其保持。除了將它寫入隱藏的div,有沒有更優雅的解決方案?
我有以下代碼:
// JavaScript Document
var videoList = [{
sources: [{
src: 'http://localhost/gpifmlocal/publichtml/eUFM/1_intro.mp4',
type: 'video/mp4'
}],
poster: ''
},{
sources: [{
src: 'http://localhost/gpifmlocal/publichtml/eUFM/2_UFM_barter.mp4',
type: 'video/mp4'
}],
poster: ''
},{
sources: [{
src: 'http://localhost/gpifmlocal/publichtml/eUFM/3_UFM_goldsmith.mp4',
type: 'video/mp4'
}],
poster: ''
} ];
var player = videojs(document.querySelector('video'), {
inactivityTimeout: 0
});
player.playlist(videoList);
document.querySelector('.previous').addEventListener('click', function() {
var playing = player.playlist.currentItem();
player.playlist.currentItem(playing -1);
});
document.querySelector('.next').addEventListener('click', function() {
var playing = player.playlist.currentItem();
player.playlist.currentItem(playing +1);
});
var onlinevideo =document.querySelectorAll('.onlinevideo');
for(var i=0;i<onlinevideo.length;i++){
onlinevideo[i].addEventListener('click',videonumber);
}
function videonumber(){
var vid = parseInt($(this).attr('data-vid'));
if (!player.play()) {
player.play();
}else{
player.playlist.currentItem(vid);
// var playrate = parseFloat(player.playbackRate());
// player.playbackRate(playrate);
}
$(this).css('color','green');
}
var endvideo = document.getElementsByTagName("video")[0];
endvideo.addEventListener("ended", function() {
var playing = player.playlist.currentItem();
$('a[data-vid]').each(function() {
var vid = parseInt($(this).attr('data-vid'))
if (vid ==playing){
$(this).css('color','green');
}
});
}, true);
player.playlist.autoadvance(JSON.parse(0));