【问题标题】:Using Plyr.io, once video has ended - restart player使用 Plyr.io,一旦视频结束 - 重新启动播放器
【发布时间】:2017-07-23 07:45:44
【问题描述】:

我正在使用plyr plugin 在我的网站上播放视频。

我正在尝试在视频结束时重新启动播放器 (vimeo),但我运气不佳。我什至试图控制台记录一条消息,但这甚至不起作用。谁能看出我哪里出错了?

JSfiddle 附在此处。

if ($('.main-hero__youtube__video').length) {
    console.log("Video player init");
    // Define the controls
    var plyr_options = {
        autoplay: true,
        clickToPlay: true,
        showPosterOnEnd: true,
        controls: ['mute','progress','play']
    };

    // Create the plyr instances - this defines players[0] as our primary player.
    var players =  plyr.setup(plyr_options);

    players[0].on('ended', function(event) {
      console.log("test");
    });

}

【问题讨论】:

  • 您的小提琴会在pause 上触发事件,这很好。实际上使用 ended 事件(正如您在编辑的问题中所做的那样)会在视频结束时显示日志消息。
  • 谢谢@justastudent。我刚刚看到它在我的小提琴中工作。我在一个drupal站点中使用它,由于某种原因它没有打球,这就是为什么我从来没有检查过它是否在jsfiddle中工作。回到绘图板看看为什么它不能与 Drupal 一起工作。

标签: javascript jquery html css plyr.js


【解决方案1】:

你已经很接近了,你只需要在你的播放器实例上调用restart() 方法(或者play(),如果你正在寻找一个无限循环):

players[0].on('ended', function(event) {
    players[0].restart();
    // players[0].play(); // infinite loop
});

https://jsfiddle.net/yunxyfbh/

【讨论】:

  • 嗨@GFoley83,我刚刚看到它在我的小提琴中工作(至少控制台日志)。我在一个drupal站点中使用它,由于某种原因它没有打球,这就是为什么我从来没有检查过它是否在jsfiddle中工作。回到绘图板看看为什么它不能与 Drupal 一起工作。谢谢。
  • @FrazerFindlater 我需要更多信息才能提供帮助。 jsfiddle中的代码是完整的代码吗?如果不是,请更新它,否则您可以链接到实际页面吗?另外,我可以看到您正在使用 jQuery,您确定 jQuery 已加载并且您正在等待 DOM 就绪事件,例如在运行代码之前在$(function() { . . . }); 中编写代码?控制台中是否有任何错误?视频是否正确播放,但 ended 事件没有触发?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 2021-12-03
  • 2020-02-27
  • 1970-01-01
  • 2023-01-15
相关资源
最近更新 更多