1

私は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)

どうもありがとう、

ダム

4

1 に答える 1

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

今では魅力のように機能します。

ご提案がありましたら、お知らせください。

于 2012-05-29T16:27:48.537 に答える