【发布时间】:2019-02-11 10:37:18
【问题描述】:
我正在尝试使用 youtube API-iframe 播放器的“cc_load_policy”参数。而且我无法让它在我的页面上运行。
如您所见,我将 cc_load_policy 指示为 1,以便始终显示字幕,并且 cc_lang pred 为“en”(因为我的字幕是英文的)。
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '100%',
width: '100%',
videoId: /*MY YOUTUBE ID*/,
playlist: /*MY YOUTUBE ID */,
playerVars:{
'autoplay': 1,
'controls': 0,
'disablekb': 0,
'fs':0,
'modestbranding':0,
'rel':0,
'hd':1,
'autohide': 0,
'wmode': 'transparent',
'showinfo': 0,
'loop' : 1,
'cc_load_policy' : 1,
'cc_lang_pref' : 'en',
'iv_load_policy' : 3
},
events: {
'onReady': onPlayerReady,
'onStateChange' : onStateChange
}
});
}
function onPlayerReady(event) {event.target.playVideo();}
function onStateChange(evt){
if (evt.data === YT.PlayerState.ENDED) {
player.playVideo();
}
}
如果将代码复制并粘贴到选项卡上的通用网址,则字幕可以正常工作,但是在 api 自动生成的 iframe 中,它不起作用。
有人知道我的错误是什么吗? Api 是否会对我有错误或未知限制?
我已多次阅读文档,但找不到问题的解释。
【问题讨论】:
-
您能分享一下您正在使用的
videoId吗? - 我将根据我的发现发布答案... -
我的 videoId 是 cpx2C13kAqw
-
Victor,检查我在答案中添加的 jsfiddle。它按预期工作。你还有这个问题吗?
-
感谢您的回答,它们很有用。我认为错误是由于 autoinicio 问题,因为如果我不启动该参数并且静音正常工作。
标签: javascript youtube youtube-api youtube-javascript-api