获取下一个播放视频的视频id



我正在使用Youtube API通过其videoId播放视频。这一切都很好,youtube视频工作:

var player = new YT.Player("videoplayer", {
  height: 400, 
  width: 600, 
  videoId: videoId, 
  events: {
    onReady: function (event) {
      event.target.playVideo();
    }
  }
});

视频结束后,Youtube将显示推荐视频的缩略图。是否可以获取用户点击的视频的videoId?

我希望我可以使用onStateChange方法,但似乎没有一种状态可以描述正在播放的视频已更改。

有没有一种标准的方法来获取用户选择的下一个Youtube视频的视频id?

好的,我研究过了。当用户点击下一个视频观看时,并没有触发事件,但API会触发onApiChange事件。

因此,您可以检查视频id中的更改,如果有更改,则运行回调:

var oldVideoId = 'abcd';
var checkIfVideoIdChanged = function(event) {
  var newVideoId = event.target.getVideoData().video_id
   if (newVideoId !== oldVideoId) {
     // Do your 'event' logic here
   }
};
var player = new YT.Player("videoplayer", {
  height: 400, 
  width: 600, 
  videoId: videoId, 
  events: {
    onReady: function (event) {
      event.target.playVideo();
    },
    onStateChange: function(event) {
      checkIfVideoIdChanged(event);
    },
    onApiChange: function(event) {
      checkIfVideoIdChanged(event);
    }
  }
});

编辑:您应该同时检查onApiChange和onStateChange,因为有时当新视频立即开始播放时,onApiChange不会被触发。

相关内容

  • 没有找到相关文章

最新更新