我有一段Javascript可以成功地使嵌入式YouTube视频始终以高清播放(如果该视频是以高清形式上传的话)。
我的问题:当我在Internet Explorer中运行代码时,它不会在HD720中播放视频,它只能播放420(大= 420像素)。当我在Chrome,Firefox和Safari中运行这些确切的代码时,他们都会在HD720中播放视频。
你知道如何让IE总是在HD720中播放我的嵌入式Youtube视频吗?
我的代码:请参阅下面的注释,为什么'hd720'不起作用:
<script type="text/javascript" src="https://www.youtube.com/player_api"></script>
<script>
function onPlayerReady(event) {
event.target.setPlaybackQuality('highres');
// NOTE: MAKING the above value 'hd720' makes NONE of the browsers
// play the video in HD720, test it for yourself to see.
// So thats NOT a solution.
}
function loadYouTubeVideo(uid) {
setTimeout( function() {
var id = uid;
var instPlayer = new YT.Player(id, {
height: '480',
width: '853',
enablejsapi: 1,
suggestedQuality: 'highres',
videoId: uid,
events: {
'onReady': onPlayerReady
}
});
}, 500);
}
</script>
然后您在页面中嵌入了Youtube视频(注意* VIDEO_ID *是您的YouTube视频的唯一ID):
<div id="VIDEO_ID"></div>
<script>
loadYouTubeVideo("VIDEO_ID");
</script>
答案 0 :(得分:0)
在480px视频播放器中播放720p(720像素高)视频不会改善视频质量,因为额外的像素无法在设备上显示。事实上,调整大小必须以比在YouTube服务器上转码时更注重效果的方式完成,并且最终可能会比允许标准分辨率显示质量更差的播放。
默认情况下,在考虑任何播放控件后,YouTube播放器将选择适合播放器内部的最大分辨率(按高度)。即对于480像素高的播放器,适合的最高质量是420p版本。
我没有在不同的播放器和编解码器上明确测试setPlaybackQuality方法,看看它是否与初始视频加载有不同的行为,但我不相信目的是让开发人员强制实现比实际更高的分辨率显示。