将Video.js插件重置为初始状态

将Video.js插件重置为初始状态,video.js,Video.js,我正在使用jQueryUI选项卡和。我想在转到另一个选项卡时停止视频,并在返回第二个选项卡时将其重置。首先,您需要视频播放器的引用。 然后,您可以使用API启动/停止/重置视频 停止: 重置: myPlayer.currentTime(0); 我不确定jquery选项卡是如何设置的,但您可以: $('.my-tab-class').click(function(){ myPlayer.pause().currentTime(0); }); 你可以用它来显示海报或显示大播放按钮 $( '

我正在使用jQueryUI选项卡和。我想在转到另一个选项卡时停止视频,并在返回第二个选项卡时将其重置。

首先,您需要视频播放器的引用。

然后,您可以使用API启动/停止/重置视频

停止:

重置:

myPlayer.currentTime(0);
我不确定jquery选项卡是如何设置的,但您可以:

$('.my-tab-class').click(function(){
  myPlayer.pause().currentTime(0);
});

你可以用它来显示海报或显示大播放按钮

$( '.backlink' ).click( function() {
                // Player (this) is initialized and ready.
            var myPlayer = _V_("video9");
            myPlayer.currentTime(0); // 2 minutes into the video            
            myPlayer.pause();
            myPlayer.posterImage.el.style.display = 'block';
            myPlayer.bigPlayButton.show();
        });

从VideoJS v4.6开始,您可以执行以下操作来重置播放机:

player.pause().currentTime(0).trigger('loadstart');

加载开始是显示海报图像和重新绑定第一个播放事件的关键。

获取视频的id。只需将id附加到html5 api,因为videojs会附加这些字母,然后可以使用暂停并使currentTime等于0

var videoStop = document.getElementById(videoId+"_html5_api");
 videoStop.pause();     
 videoStop.currentTime= 0; 

我找到的解决方案是使用VideoJSAPI,调用reset函数,然后调用initChildren来重建播放器结构,我使用的是vesion 5.10.7

videojs('sublime_video', {}, function () {
    var videoPlayer = this;
    videoPlayer.width(screen.width / 2);
    videoPlayer.height(720);
    videoPlayer.on("ended", function(){
        videoPlayer.reset().initChildren();
    });
});
生活很简单。

甚至更容易

let player = Video(el);
player.on('ended', () => {
    player.initChildren();
});

我正在寻找一种重新初始化VideoJS插件的方法,然后我发现:-

var player = videojs('my-player');
player.on('ended', function() {
  this.dispose();
});
只需处理掉视频并再次初始化即可


来源:-

嗨,海夫,谢谢你的回复。它在第一个场景重置视频,但不显示海报图像。我需要在该级别重置视频,它应该显示海报图像与播放按钮,因为它是在第一次。怎么做?如果我想在单击“上一步”或“下一步”按钮时停止所有视频,我是否必须调用所有播放机?嗯,在我调用
player.reset()
并设置新源后,播放机只显示一个黑屏,没有视频。
player.reset();
let player = Video(el);
player.on('ended', () => {
    player.initChildren();
});
var player = videojs('my-player');
player.on('ended', function() {
  this.dispose();
});