2012-11-15 59 views
1

我有一段JavaScript可以成功地使嵌入式YouTube視頻始終以高清形式播放(如果該視頻是以高清形式上傳的)。總是播放高清YouTube視頻:無法在IE瀏覽器上運行

我的問題:當我在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> 
+0

此問題可能有助於解決讓'hd720'參數工作... http://stackoverflow.com/questions/8802498/youtube-iframe-api-setplaybackquality-or-suggestedquality-not-working。我有另一個想法 - 你使用iframe API嗎?如果是這樣,它會根據條件自動選擇HTML5播放器或Flash播放器,IE 8及以下版本僅限於閃光燈,這可能會影響YouTube視頻質量要發送的內容......但這可能是一個紅鯡魚我這邊。 – jlmcdonald

回答

0

播放720P的480像素的視頻播放器不會提高看過視頻質量(720像素高)的視頻,作爲額外的像素無法在設備上顯示。實際上,調整大小必須以更加註重性能的方式進行,而不是在YouTube服務器上進行代碼轉換時完成,並且最終播放的質量可能會比標準分辨率低。

默認情況下,YouTube播放器會在考慮任何播放控件後,選擇適合播放器內部的最大分辨率(按高度)。即對於480像素高的播放器,適合的最高質量是420p版本。

我還沒有明確測試不同播放器和編解碼器的setPlaybackQuality方法,以查看它是否具有與初始視頻負載不同的行爲,但我不相信目標是允許開發人員強制執行高於實際上被顯示。

相關問題