我的网站上有2个youtube播放器。一切正常但我无法设置播放质量。我究竟做错了什么?
var playerInfoList = [{
id: 'player',
height: '390',
width: '640',
videoId: 'jU1_0T79Lew',
playerVars: {
'autoplay': 1,
'autohide': 1,
'showinfo': 0,
},
events: {
'onReady': onPlayerReady
}
}, {
id: 'player1',
height: '390',
width: '640',
videoId: 'u-OxxLMvOXg',
playerVars: {
'autoplay': 0,
'autohide': 1,
'showinfo': 0,
}
}];
function onYouTubeIframeAPIReady() {
if (typeof playerInfoList === 'undefined')
return;
for (var i = 0; i < playerInfoList.length; i++) {
var curplayer = createPlayer(playerInfoList[i]);
}
}
function createPlayer(playerInfo) {
return new YT.Player(playerInfo.id, {
height: playerInfo.height,
width: playerInfo.width,
videoId: playerInfo.videoId,
playerVars: playerInfo.playerVars,
events: playerInfo.events
});
}
// The API will call this function when the video player is ready.
function onPlayerReady(event) {
playerInfo.id.setPlaybackQuality('hd1080'); // Here we set the quality (yay!)
}
答案 0 :(得分:2)
player.getPlaybackQuality():String
- 此功能可检索当前视频的实际视频质量。可能的返回值为
highres
,hd1080
,hd720
,large
,medium
和small
。 如果没有当前视频,它也会返回undefined
。
player.setPlaybackQuality(suggestedQuality:String):Void
- 此功能设置当前视频的建议视频质量。该功能使视频以新质量重新加载到其当前位置。如果播放质量确实发生变化,则只会针对正在播放的视频进行更改。调用此功能并不能保证播放质量实际发生变化。但是,如果播放质量确实发生变化,
onPlaybackQualityChange
事件将会触发,您的代码应该响应事件,而不是它调用setPlaybackQuality
函数。当您为视频建议播放质量时,建议的质量仅对该视频有效。您应该选择与视频播放器大小相对应的播放质量。例如,如果您的页面显示1280像素x 720像素的视频播放器,那么
hd720
质量的视频实际上看起来会比hd1080质量的视频更好。我们建议您调用getAvailableQualityLevels()
功能以确定视频可用的质量级别
如果您使用视频无法使用的
setPlaybackQuality
级别调用suggestedQuality
功能,则质量将设置为可用的下一个最低级别。例如,如果您请求的质量级别为large
,且该级别不可用,则播放质量将设置为medium
(只要该质量级别可用)。
基于本教程:How to Control YouTube's Video Player with JavaScript
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('video-placeholder', {
width: 600,
height: 400,
videoId: 'Xa0Q0J5tOP0',
playerVars: {
color: 'white',
playlist: 'taJ60kskkns,FG0fTKAqZ5g'
},
events: {
onReady: initialize
}
});
}
更改视频质量
$('#quality').on('change', function () {
player.setPlaybackQuality($(this).val());
});
尝试将playerInfo
设置为全局变量,然后按照上面的教程帮助您设置嵌入式YouTube视频。
希望这有帮助。