尝试使用 VideoJS、VideoJS-YouTube、VideoJS-Playlist 和 VideoJS-Playlist-UI

Trying to Use VideoJS, VideoJS-YouTube, VideoJS-Playlist, and VideoJS-Playlist-UI

我在一个网站上工作,我试图制作一个自定义主题播放列表来播放 YouTube 上托管的视频。我已经在网站的另一部分成功地一起使用了 VideoJS 和 VideoJS-YouTube,但是在引入 VideoJS-Playlist 和 VideoJS-Playlist-UI 之后,我 运行 遇到了一些问题。在尝试了几种不同的方式加载 YouTube 视频后,似乎没有任何来源。然而,我确实有一个正在呈现的播放列表,这让我觉得我要么错误地实现了 VideoJS-YouTube。

这是我的工作示例 没有 VideoJS-Playlist 和 VideoJS-Playlist-UI:

Working CodePen Example

<video class="videos-video video-js vjs-default-skin vjs-big-play-centered" controls data-setup='{ "techOrder": ["youtube"], "sources": [{ "type": "video/youtube", "src": "https://www.youtube.com/watch?v=voFRslp8d60"}], "youtube": { "ytControls": 1 } }'></video>

这是我不工作的例子,using VideoJS-Playlist & VideoJS-Playlist-UI:

Broken CodePen Example

HTML:

<div>
  <video id="current-video" class="video-js vjs-default-skin vjs-big-play-centered"></video>
</div>
<div>
  <div class="vjs-playlist vjs-playlist-vertical vjs-csspointerevents vjs-mouse"></div>
</div>

和 JS:

var options = {
    techOrder: ["youtube"],
    youtube: {
        ytControls: 1
    }
};
var player = videojs('current-video', options);

player.playlist([{
    sources: [{
        src: 'https://www.youtube.com/watch?v=voFRslp8d60',
        type: 'video/youtube'
    }]
}]);

player.playlistUi();

如果有办法使用这两个额外的插件来播放 YouTube 视频,我会听取任何有关如何操作的建议。谢谢!

我找到答案了!有趣的是,遵循 VideoJS-YouTube's GitHub Page was what led me astray. Instead of setting up special attributes for the plugin, if you install the plugin and then treat the resource as a regular source, the video loads perfectly. A detailed example of how to load it correctly is available here 中的文档或通过以下代码片段:

HTML:

<div>
  <video id="current-video" class="video-js vjs-default-skin vjs-big-play-centered" controls></video>
</div>

JS:

var player = videojs('current-video');

player.playlist([{
    sources: [{
        src: 'https://www.youtube.com/watch?v=voFRslp8d60&t=17s',
        type: 'video/youtube'
    }]
}]);