Javascript 如何设置youtube api的播放质量

Javascript 如何设置youtube api的播放质量,javascript,youtube-api,Javascript,Youtube Api,我的网站上有2个youtube播放器。一切正常,但我无法设置播放质量。我做错了什么 var playerInfoList = [{ id: 'player', height: '390', width: '640', videoId: 'jU1_0T79Lew', playerVars: { 'autoplay': 1, 'autohide': 1, 'showinfo': 0, }, events: { 'onReady': onPl

我的网站上有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!)
}
var playerInfoList=[{
id:'玩家',
高度:“390”,
宽度:“640”,
videoId:“jU1_0T79Lew”,
playerVars:{
“自动播放”:1,
“自动隐藏”:1,
“showinfo”:0,
},
活动:{
“onReady”:onPlayerReady
}
}, {
id:‘玩家1’,
高度:“390”,
宽度:“640”,
videoId:'u-OxxLMvOXg',
playerVars:{
“自动播放”:0,
“自动隐藏”:1,
“showinfo”:0,
}
}];
函数onyoutubeiframeapiredy(){
如果(playerFolist的类型==='undefined')
返回;
对于(变量i=0;i
player.getPlaybackQuality():String

  • 此函数用于检索当前视频的实际视频质量。可能的返回值为
    高分辨率
    hd1080
    hd720
    。如果没有当前视频,它还将返回未定义的
player.setPlaybackQuality(suggestedQuality:String):Void

  • 此功能设置当前视频的建议视频质量。该功能使视频以新质量在其当前位置重新加载。如果播放质量确实发生变化,则只会对正在播放的视频发生变化。调用此函数并不能保证播放质量实际上会改变。但是,如果播放质量确实发生变化,事件将触发,并且您的代码应该响应该事件,而不是它调用了
    setPlaybackQuality
    函数
建议视频播放质量时,建议的质量仅对该视频有效。您应该选择与视频播放器大小相对应的播放质量。例如,如果页面显示1280px×720px的视频播放器,则
hd720
质量的视频实际上会比hd1080质量的视频看起来更好。我们建议调用
getAvailableEqualityLevel()
函数来确定视频的可用质量级别

注 如果调用
setPlaybackQuality
函数时使用的
suggestedQuality
级别对视频不可用,则质量将设置为可用的下一个最低级别。例如,如果您请求的质量级别为
large
,但该级别不可用,则播放质量将设置为
medium
(只要该质量级别可用)

基于本教程:

改变视频质量

$('#quality').on('change', function () {
player.setPlaybackQuality($(this).val());
});
尝试将您的
playerInfo
设置为全局变量,并按照上面的教程帮助您设置嵌入式youtube视频


希望这有帮助。

在设置视频质量之前,您是否尝试过使用player.getAvailableEqualityLevel()获取可用的质量级别?这行代码是否为
playerInfo.id.setPlaybackQuality('hd1080')应该是
event.target.setPlaybackQuality('hd1080')?谢谢,这样工作。很遗憾,不再支持设置质量。
$('#quality').on('change', function () {
player.setPlaybackQuality($(this).val());
});