YouTube autoplay not working in Chrome

54,891

Solution 1

(One) of the possible solution taken from the comments discussion would be muting the video if sound isn't that important in your case (if it is, I'll leave the answer as it could help other people).

It's apparently the only way to have autoplay always enabled. From the article :

"Muted autoplay is always allowed."

Source : Google changelog


Simply add in your playerVars:

mute : 1

Source for the muted video

Solution 2

You should put the allow="autoplay" on the embedding iframe element

<!-- Autoplay is allowed. -->
<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay">

<!-- Autoplay and Fullscreen are allowed. -->
<iframe src="https://cross-origin.com/myvideo.html" allow="autoplay; fullscreen">

Chrome's autoplay policies :

  • Top frames can delegate autoplay permission to their iframes to allow autoplay with sound.
  • Muted autoplay is always allowed.
  • Autoplay with sound is allowed if:
    • User has interacted with the domain (click, tap, etc.).
    • On desktop, the user's Media Engagement Index threshold has been crossed, meaning the user has previously play video with sound.
    • On mobile, the user has added the site to their home screen.

Solution 3

Google chrome removed the autoplay functionality. See below:

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

Share:
54,891
Admin
Author by

Admin

Updated on July 05, 2022

Comments

  • Admin
    Admin almost 2 years

    For a while now I have been using this script, where the video is automatically playing full-screen. For now suddenly the video doesn't play automatically in Chrome. But in Firefox and Edge it still works.

    So maybe Google changed settings? Does anyone know how to fix this, please? You see the live example here: www.brunomazereel.com

    <script src="http://www.youtube.com/player_api"></script>
    <script type="text/javascript">
    var player;
    function onYouTubePlayerAPIReady() {
        player = new YT.Player('player', {
        playerVars: {
            'autoplay': 1,
            'controls': 0,
            'autohide': 1,
            'wmode': 'opaque',
            'showinfo': 0,
            'loop': 1,
            'rel': 0,
            'playlist': 'rh5QiehIlVA,Bl63bdR-Ko0,'
            },
        videoId: 'u-cjliof1xk',
        events: {
            'onReady': onPlayerReady
        }
    });
    }
    function onPlayerReady(event) {
    event.target();
    $('#text').fadeIn(400);
    }
    $(window).scroll(function() {
    var hT = $('.m-video').height(),
       wS = $(this).scrollTop();
    if (wS > hT) {
      player.pauseVideo();
    }
    else {
      player.playVideo();
    }
    });
    </script>