youtube api 无法更改视频质量
youtube api cannot change video quality
我的问题是,在视频播放期间改变质量。
当我在 onReady 事件函数中使用 setPlaybackQuality 时,质量发生了变化,但在视频播放期间是不可能的。
虽然 onPlaybackQualityChange 事件 returns 我想要的质量,但实际上并没有改变视频质量。
player[playaID] = new YT.Player('content_'+playaID, {
height: playaHeight,
width: playaWidth,
videoId: playaVID,
playerVars: {
'autoplay':0,
'controls':0,
'showinfo':0,
'fs': 1,
'rel': 1,
'modestbranding':0
},
events: {
'onReady': onPlayerReady(playaID),
'onStateChange':onPlayerStateChange(playaID,event),
'onPlaybackQualityChange':onPlayerQualityChange(playaID,event)
}
});
解决方案:
如果您想在视频播放期间更改质量:
1: 你必须停止视频 player.stopVideo()
2: 设置质量 - player.setPlaybackQuality('hd720')
3: 播放视频 - player.playVideo()
下面是我设置画质的函数
var setQuality=function(playaID,q){
var curSeek = player[playaID].getCurrentTime(); // current video time
var status = player[playaID].getPlayerState(); // video status
if(status!=-1 && status!=5){ // if not started, does not to be stoped
player[playaID].stopVide();
}
player[playaID].setPlaybackQuality(q);
player[playaID].seekTo(curSeek);
if(status!=1){
player[playaID].paseVideo(); // if was paused
}else{
player[playaID].playVideo(); // if was playing
}
}
我的问题是,在视频播放期间改变质量。
当我在 onReady 事件函数中使用 setPlaybackQuality 时,质量发生了变化,但在视频播放期间是不可能的。
虽然 onPlaybackQualityChange 事件 returns 我想要的质量,但实际上并没有改变视频质量。
player[playaID] = new YT.Player('content_'+playaID, {
height: playaHeight,
width: playaWidth,
videoId: playaVID,
playerVars: {
'autoplay':0,
'controls':0,
'showinfo':0,
'fs': 1,
'rel': 1,
'modestbranding':0
},
events: {
'onReady': onPlayerReady(playaID),
'onStateChange':onPlayerStateChange(playaID,event),
'onPlaybackQualityChange':onPlayerQualityChange(playaID,event)
}
});
解决方案:
如果您想在视频播放期间更改质量:
1: 你必须停止视频 player.stopVideo()
2: 设置质量 - player.setPlaybackQuality('hd720')
3: 播放视频 - player.playVideo()
下面是我设置画质的函数
var setQuality=function(playaID,q){
var curSeek = player[playaID].getCurrentTime(); // current video time
var status = player[playaID].getPlayerState(); // video status
if(status!=-1 && status!=5){ // if not started, does not to be stoped
player[playaID].stopVide();
}
player[playaID].setPlaybackQuality(q);
player[playaID].seekTo(curSeek);
if(status!=1){
player[playaID].paseVideo(); // if was paused
}else{
player[playaID].playVideo(); // if was playing
}
}