我正在使用YouTube的API在自己的页面上加载YouTube视频。我有'controls': 0
和'loop': 1
,但是视频标题仍然显示,并且在视频播放完成后就不会循环播放。不确定为什么?
代码:
// Load IFrame Player API
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
// Creating iframe
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
videoId: 'jagIsKF8oVA',
playerVars: {'autoplay': 1, 'controls': 0, 'mute' : 1, 'loop': 1, 'rel': 0 },
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// Calls function
function onPlayerReady(event) {
event.target.playVideo();
}
var done = false;
function onPlayerStateChange(event) {
// if (event.data == YT.PlayerState.PLAYING && !done) {
// setTimeout(stopVideo, 6000);
// done = true;
// }
}
function stopVideo() {
// player.stopVideo();
}
答案 0 :(得分:0)
基于您的问题,您不能使用controls
参数隐藏视频的标题。
在documentation中,
控件
此参数指示视频播放器控件是否为 显示:
- controls = 0 –播放器控件不显示在播放器中。
- controls = 1(默认)–播放器控件在播放器中显示。
以及loop
参数:
循环
注意:此参数在AS3播放器和IFrame嵌入中支持有限,可能会加载AS3或HTML5播放器。 当前,loop参数仅在使用时在AS3播放器中起作用 结合播放列表参数。要循环播放单个视频, 将循环参数值设置为1并设置播放列表参数值 到已经在播放器API URL中指定的相同视频ID:
https://www.youtube.com/v/VIDEO_ID? version=3 &loop=1 &playlist=VIDEO_ID
要显示诸如标题之类的信息,可以使用showinfo
参数:
showinfo
支持的值为0和1。
将参数的值设置为0会导致播放器无法显示 视频开始之前的信息,例如视频标题和上传者 玩。
如果播放器正在加载播放列表,并且您明确设置了 参数值设为1,则在加载后,播放器还将显示 播放列表中视频的缩略图。
注意:注意:此参数已弃用,在之后将被忽略 2018年9月25日。
即使它说showinfo
昨天已过时,我仍在尝试它是否仍在工作。是的,它仍在工作。
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
videoId: 'jagIsKF8oVA',
playerVars: {'autoplay': 1, 'controls': 0, 'mute' : 1, 'loop': 1, 'rel': 0, 'showinfo': 0 },
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
如果这行不通,我认为您需要自定义代码以隐藏视频标题,并使用AS3播放器实现loop
参数。