gpt4 book ai didi

javascript - 加载新视频时,videojs 播放列表播放率不会持续存在

转载 作者:行者123 更新时间:2023-11-29 21:09:07 31 4
gpt4 key购买 nike

我已经使用 videojs 和 videojs 播放列表插件成功地组合了一个视频播放列表。在播放视频时,如果您将播放速率从 1 更改为 2,当视频自动前进到列表中的下一个视频时,播放速率默认返回到 1,您必须再次重新调整。问题是如何使 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));

最佳答案

非常抱歉,如果您足够深入,可以在一个 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);
});

关于javascript - 加载新视频时,videojs 播放列表播放率不会持续存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42559566/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com