如何设置youtube api的播放质量

时间:2016-06-15 21:37:21

标签: 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': 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!)
}

1 个答案:

答案 0 :(得分:2)

Playback quality

  

player.getPlaybackQuality():String

     
      
  • 此功能可检索当前视频的实际视频质量。可能的返回值为highreshd1080hd720largemediumsmall如果没有当前视频,它也会返回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视频。

希望这有帮助。