我正在使用Youtube Chromeless播放器进行开发 我的播放器尺寸为400 x 225px。
默认情况下,Youtube会根据这些尺寸将视频质量设置为“小”级别 然而,由于“小”质量的视频看起来很难看,我想将它们升级到“中等”质量水平。
这是我的代码:
ytplayer.loadVideoById(youtube_id, start, "medium");
不幸的是,它似乎不起作用......当我在我的控制台上进行一些检查时:
ytplayer.getPlaybackQuality();
"small"
是否有人遇到与Youtube API相同的问题?如果没有,您如何指定Youtube视频的质量?
======编辑=======
我意识到视频启动后,setPlaybackQuality功能正常工作。因此,我尝试了下面的黑客攻击。它完美地工作,但宁愿找到另一种解决方案......
ytplayer.loadVideoById(YOUTUBE_ID, START);
setTimeout(function(){
// If medium quality available
if(ytplayer.getAvailableQualityLevels().indexOf("medium") != -1){
ytplayer.setPlaybackQuality("medium");
}
},1000)
非常感谢,
坝
答案 0 :(得分:1)
好的,我终于设法解决了这个问题。
我做了一个不同的黑客,但不那么难看。这是:
function onYoutubePlayerReady(playerId){
[...]
// Add event listener to monitor quality
ytplayer.addEventListener("onPlaybackQualityChange","onQualityChange");
// Triggers the video
ytplayer.loadVideoById(youtube_id, start, "medium");
[...]
}
这是负责将视频质量强制为“中等”的事件监听器
function onQualityChange(qualityState){
if(qualityState != "medium" && ytplayer.getAvailableQualityLevels().indexOf("medium") != -1){
ytplayer.setPlaybackQuality("medium");
}
}
现在就像一个魅力。
如果您有任何建议,请告诉我。