2012-05-28 71 views
1

我正在使用Youtube Chromeless播放器進行開發。
我的播放器尺寸爲400 x 225像素。指定Youtube Chromeless Player無效的質量?

默認情況下,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) 

非常感謝,

大壩

回答

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"); 
    } 
} 

現在就像一個魅力。

如果您有任何建議,請讓我知道。