2017-03-02 6 views
1

私はvideojsとvideojsプレイリストプラグインを使用してビデオプレイリストをうまくまとめました。ビデオを再生しているときに再生レートを1から2に変更すると、ビデオが自動的にリストの次のビデオに進むと、playbackRateのデフォルト値は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)); 

答えて

0

多くの謝罪は、APIのすべてのメソッドやイベントへのリンクがあります:https://github.com/brightcove/videojs-playlist/blob/master/docs/api.md#playlistitem

したがって、私の質問に答えるために私は単に以下を使用しました:

var playrate; 
player.on('beforeplaylistitem', function() { 
    playrate = player.playbackRate(); 

    }); 

player.on('playlistitem', function() { 
    player.playbackRate(playrate); 
}); 
関連する問題