Youtube iframe api auto play не работает для хрома, а разрешение видео установлено не для всех браузеров - PullRequest
0 голосов
/ 24 мая 2018

<script>
    var tag = document.createElement('script');
                tag.src = "https://www.youtube.com/iframe_api";
                var firstScriptTag = document.getElementsByTagName('script')[0];
                firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
                var player;
                function onYouTubeIframeAPIReady() {
                    player = new YT.Player('youtube-vid', { 
                    videoId: 'M7lc1UVf-VE',
                    events: {
                        'onReady': onPlayerReady,
                        'onStateChange': onPlayerStateChange
                    }
                    });
                }
                function onPlayerReady(event) {
                   event.target.playVideo(); 
                    event.target.setPlaybackQuality('hd1080'); 
                }
                function onPlayerStateChange(e) {
                    if (e.data === YT.PlayerState.ENDED) {
                        player.playVideo(); 
                      }
                      
                }
</script>

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

Заранее спасибо!

1 Ответ

0 голосов
/ 12 июня 2018

Правила автозапуска Chrome изменились в апреле 2018 года https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

Google Chrome не разрешает автозапуск видео.Если вы хотите автоматически воспроизвести, вы должны отключить видео.Согласно правилам политики.

Браузер FireFox enter image description here Google Chrome enter image description here

// This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');

tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

//    This function creates an <iframe> (and YouTube player)
//    after the API code downloads.
var player;
function onYouTubeIframeAPIReady() {
    player = new YT.Player('player', {
        height: '390',
        width: '640',
        videoId: 'M7lc1UVf-VE',
        events: {
            'onReady': onPlayerReady
        }
    });
}

//  The API will call this function when the video player is ready.
function onPlayerReady(event) {
    player.setPlaybackRate(2);
    event.target.playVideo();
}
<div id="player"></div>
...