Почему player.setPlaybackQuality() не работает?

Всем привет, есть js код:
function onYouTubeIframeAPIReady() {
	player = new YT.Player("video", {
		width: "640",
		height: "360",
		videoId: "",
		playerVars: {
			"controls": 0,
			"rel": 0,
			"disablekb": 0,
			"html5": 1, 
			"iv_load_policy": 3,
			"showinfo": 0,
			"fs": 0
		},
		events: {
			onReady: onPlayerReady,
			onStateChange: onPlayerStateChange,
			onPlaybackQualityChange: onPlayerPlaybackQualityChange
		}
	});
}

function onPlayerStateChange(e) {
	if ( e.data == YT.PlayerState.PLAYING || e.data == YT.PlayerState.PAUSED ) {
		// Выбор качества видео
		$(document).find(".youtube-player").find(".form-settings-quality").on("change", "input", function() {
			e.target.setPlaybackQuality($(this).val());
			console.log(player.getPlaybackQuality());
		})
	}
}

Cтолкнулся с проблемой, что
e.setPlaybackQuality($(this).val()); // Альтернатива player.setPlaybackQuality($(this).val());
не меняет качество воспроизводимого видео(
html код радио батана при котором пытаюсь поменять качество видео:
<div class="wrapper-radio">
<input type="radio" id="quality-01" name="radio-quality" value="small">
<label for="quality-01"><span></span>240p</label>
</div>

Вопрос: С чем это связано и как можно все таки дать пользователю менять качество видео ?
  • Вопрос задан
  • 515 просмотров
Решения вопроса 1
@chubahu
Youtube заблокировал принудительное переключение качества в начале 2018. В документации написано, что "Вызов функции не гарантирует изменения качества воспроизведения."
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы