YouTube iFrame API «setPlaybackQuality» или «providedQuality ”Не работает

У меня проблемы с настройкой качества видео через Youtube iFrame API. Это это мой код:

var player;

player = new YT.Player('player', {
    height: '490',
    width: '725',
    videoId: yturl,
    /* setPlaybackQuality: 'hd720', <-- DOES NOT WORK */
    /* suggestedQuality: 'hd720',   <-- DOES NOT WORK */
    events: {
        'onReady': onPlayerReady
    }
});

function onPlayerReady(event) {
    player.setPlaybackQuality('hd720');       // <-- DOES NOT WORK
    event.target.setPlaybackQuality('hd720'); // <-- DOES NOT WORK
    player.setVolume(100);                    // <-- DOES WORK
    console.log(player.getPlaybackQuality()); // <-- Prints 'small' to console
    event.target.playVideo();
}

Самое смешное, что мой вызов player.setPlaybackQuality или event.target.setPlaybackQuality не дает никаких ошибок. Это просто выглядит так, как будто игрок игнорирует его. Вызов, скажем, player.setSuggestedQuality (несуществующей функции) выдает ожидаемую ошибку.

Я пробовал все допустимые строковые параметры, как описано в в справочнике API ('средний', 'большой', 'hd720' и т. д.). Ни один из них не работает.

У кого-нибудь есть предложения, как я должен установить это свойство?

22
задан o01 10 January 2012 в 11:24
поделиться

1 ответ

я нашел решение, которое идеально подходит для меня:

 function onPlayerStateChange(event) {
   //Some code...

   $(".btn-change-quality").on("click",  function(){
       pauseVideo();
       player.setPlaybackQuality('hd720');
       playVideo();
    });
} 
2
ответ дан 29 November 2019 в 04:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: