У меня проблемы с настройкой качества видео через 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' и т. д.). Ни один из них не работает.
У кого-нибудь есть предложения, как я должен установить это свойство?
я нашел решение, которое идеально подходит для меня:
function onPlayerStateChange(event) {
//Some code...
$(".btn-change-quality").on("click", function(){
pauseVideo();
player.setPlaybackQuality('hd720');
playVideo();
});
}