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

Lin*_*hef 4 html javascript youtube playlist video.js

我正在一个网站上尝试创建自定义主题播放列表,以播放YouTube上托管的视频。我已经在网站的另一部分中成功地同时使用了VideoJS和VideoJS-YouTube,但是在介绍VideoJS-Playlist和VideoJS-Playlist-UI之后,我遇到了一些问题。在尝试了几种不同的方式加载YouTube视频之后,似乎没有任何消息来源。不过,我确实有一个播放列表正在渲染,这让我觉得我在实施VideoJS-YouTube时均不正确。

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

工作CodePen示例

要么

<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>
Run Code Online (Sandbox Code Playgroud)

这是我不起作用的示例,使用VideoJS-Playlist和VideoJS-Playlist-UI

破损的CodePen示例

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>
Run Code Online (Sandbox Code Playgroud)

和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();
Run Code Online (Sandbox Code Playgroud)

如果有办法使用这两个额外的插件来播放YouTube视频,我将就如何提供任何建议。谢谢!

Lin*_*hef 5

我找到答案了!有趣的是,跟随VideoJS-YouTube的GitHub Page 的文档后,我误入了歧途。如果您安装插件,然后将资源视为常规资源,则无需为插件设置特殊属性,而是可以完美加载视频。有关如何正确加载它的详细示例,请参见此处,或通过以下代码段获取:

HTML:

<div>
  <video id="current-video" class="video-js vjs-default-skin vjs-big-play-centered" controls></video>
</div>
Run Code Online (Sandbox Code Playgroud)

JS:

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

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