【发布时间】:2012-11-03 15:43:31
【问题描述】:
我有一段 Javascript 可以成功地使嵌入式 YouTube 视频始终以高清格式播放(如果该视频也以高清格式上传)。
我的问题:当我在 Internet Explorer 中运行代码时,它不会在 HD720 中播放视频,它只能在 420(Large=420px) 中播放。当我在 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>
【问题讨论】:
-
这个问题可能有助于解决让“hd720”参数工作的问题...stackoverflow.com/questions/8802498/…。我的另一个想法——你在使用 iframe API 吗?如果是这样,它会根据条件自动选择 HTML5 播放器或 Flash 播放器,并且 IE 8 及更低版本将仅限于 Flash,这可能会影响 youtube 必须发送的视频质量......但这可能是一个红鲱鱼我的部分。
标签: javascript jquery html youtube-api