У меня есть простой код API YouTube для воспроизведения видео в плейлисте.Внезапно я начинаю получать сообщение об ошибке: произошла ошибка, повторите попытку позже. Id воспроизведения: 2yVtrSo5yT1rs1EY
Я провел поиск и в основном нашел решения для пользователя ПК, такие как очистка кэша / DNS и т. Д. (Яна ноутбуке с Windows кстати).
Вопрос: Мне было интересно, однако, возможно ли создать решение для этой ошибки (код), в сценарии, чтобы сделать этоперейти к следующей песне?Или это только пользовательская проблема?У меня есть функция onPlayerError
, которая просто заставляет проигрывателя перейти к следующей песне, независимо от того, что произойдет.Однако для ошибки, упомянутой выше, она ничего не делает и просто показывает ошибку.
<?php
$yt_id='PLFgquLnL59anYA8FwzqNFMp3KMcbKwMaT';
$mymaxcounter = 100;
?>
<div id="player"></div>
<script>
// 2. This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
var numPl = Math.floor((Math.random() * <?php echo $mymaxcounter;?>) + 1);
var playlistId = "<?php echo $yt_id; ?>";
// 3. This function creates an <iframe> (and YouTube player)
function onYouTubeIframeAPIReady() {
player = new YT.Player("player", {
height: '390',
width: '640',
playerVars: {
autoplay: 1,
loop: 1
},
events: {
'onReady': onPlayerReady,
'onError': onPlayerError
}
});
}
// onPlayerReady
function onPlayerReady(event){
//More player vars
player.loadPlaylist( {
listType: 'playlist',
list: playlistId,
index: numPl
} );
//Set shuffle
setTimeout(function() {
player.setShuffle({'shufflePlaylist' : true});
}, 1000);
}
// onPlayerError
function onPlayerError(){
player.nextVideo();
}
</script>