要嵌入播放列表,我使用以下HTML代码:
<iframe src="http://www.youtube-nocookie.com/embed/videoseries?list=PLcld7bnZTdpiTel3p6QbXKIb5i5Wontd0&autoplay=1&iv_load_policy=3&hl=de_DE" width="1280" height="720" frameborder="0" allowfullscreen></iframe>
不幸的是,无法通过播放列表的指定视频ID开始。YouTube 在播放列表 id 后面使用参数(例如 &v=60MQ3AG1c8o)来加载第二个视频以分享提议。有没有办法加载播放列表的特定视频。因此,例如,用户可以直接从第二个视频开始,然后继续使用常规播放列表。
如果您有更好的主意在网络应用程序上呈现视频播放列表,请告诉我。
我遇到的第二个问题/问题是,在iOS或Android上无法在移动浏览器中播放youtube播放列表。是否有任何已知的解决方法可以使移动设备实现?
谢谢。
我们可以将videoseries
替换为视频 ID 作为开头,例如0-7IHOXkiV8
:
<iframe src="http://www.youtube-nocookie.com/embed/0-7IHOXkiV8?list=PLcld7bnZTdpiTel3p6QbXKIb5i5Wontd0&autoplay=1&iv_load_policy=3&hl=de_DE" width="1280" height="720" frameborder="0" allowfullscreen></iframe>
使用完整的 YouTube 播放器 API,而不仅仅是<iframe>
标签,则可以加载播放列表并从特定位置开始。下面是一个示例(jsfiddle 版本):
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'videoseries',
events: {
onReady: loadPlaylist
}
});
}
function loadPlaylist() {
player.loadPlaylist({
list: "PLhBgTdAWkxeCMHYCQ0uuLyhydRJGDRNo5",
listType: "playlist",
index: 4
});
}
这应该有效,但现在不是;我将跟进 YouTube 播放器工程团队,了解为什么它没有在索引为 4 的视频上开始播放。
这个答案包含另一个答案的小提琴副本,因为有些人无法打开链接。
<!DOCTYPE html>
<html>
<head>
<meta content="text/html;charset=utf-8" http-equiv="Content-Type">
<title>
YT video player
</title>
<script src="https://www.youtube.com/iframe_api"></script>
<script type='text/javascript'>
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'videoseries',
events: {
onReady: loadPlaylist
}
});
}
function loadPlaylist() {
player.loadPlaylist({
list: "PLhBgTdAWkxeCMHYCQ0uuLyhydRJGDRNo5",
listType: "playlist",
index: 4
});
}
</script>
</head>
<body>
<div id="player"></div>
</body>
</html>