YouTube API 3 воспроизводит плейлист песен в фоновом режиме (неактивная вкладка) в Chrome

Я работал над моим личным проектом, пытаясь выучить Javascript. Пока все идет хорошо.

Я собираю ссылки на YouTube с какой-либо внешней веб-страницы, создаю из них плейлист и воспроизводю их один за другим, когда заканчивается первый.

Система работает должным образом, если у меня активна вкладка, но когда я делаю что-то еще на другой вкладке, но продолжаю слушать песню, она не загружается автоматически. Один и тот же случай работает как в Firefox, так и в Safari.

Я исследовал безуспешно, прежде чем просить о помощи, и знаю, что это была "функция" от команды Google Chrome, но я видел, что другой сайт решает эту проблему даже в неактивной вкладке.

Поскольку я новичок в этой области, я прошу помощи от сообщества Stackru.

В Chrome http://roll.io/ ---- Это не работает в неактивной вкладке http://8tracks.com/weedies/hip-hop-suite-vol-1 ---- Это работает в неактивной вкладке

Если вы найдете что-нибудь, что может помочь, я был бы очень благодарен.

Вот мой код, который я имею для YouTube.

function onYouTubeIframeAPIReady(youtubeID, i) {
var rand = getRandomArbitrary();
var e = document.getElementById(youtubeID), t = document.createElement("img")
t.setAttribute("id", "youtube-icon"), t.style.cssText = "cursor:pointer;cursor:hand", e.appendChild(t);
var a = document.createElement("div");
a.setAttribute("id", "youtube-player"+i+rand), e.appendChild(a);
var o = function (e) {
    var a = e ? "pause.svg" : "play-button.svg";
    t.setAttribute("src", "/img/" + a)
};
e.onclick = function () {
    player.getPlayerState() === YT.PlayerState.PLAYING || player.getPlayerState() === YT.PlayerState.BUFFERING ? (player.pauseVideo(), o(!1)) : (player.playVideo(), o(!0))
};
var player = new YT.Player("youtube-player"+i+rand, {
    height: "0",
    width: "0",
    videoId: e.dataset.video,

    playerVars: {autoplay: e.dataset.autoplay, loop: e.dataset.loop},
    events: {
        onReady: function (e) {
            player.setPlaybackQuality("small"), o(player.getPlayerState() !== YT.PlayerState.CUED)
            player.unMute();
        }, onStateChange: function (e) {
            e.data === YT.PlayerState.ENDED && o(!1)
        }
    }
})

return player;
}

Спасибо:)

0 ответов

Другие вопросы по тегам