2017-03-02 32 views
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)); 

回答