Задать вопрос

Как автоматически и со звуком запустить youtube видео на странице?

Всем доброго дня!
Понадобилось автоматом запускать видео при открытии страницы.
Изначально сделал через iframe
<iframe
                id="ytplayer"
                width="480"
                height="270"
                src="https://www.youtube.com/embed/TaY7vohLXK4?controls=1&fs=0&modestbranding=1&rel=0&mute=1&showinfo=0&autoplay=1"
                allow="autoplay; encrypted-media;"></iframe>

Работает, но без звука.
Захотелось со звуком, менял значение параметра mute=1, удалял его, добавлял параметр volume с разными значениями, как итог - не работает автозапуск.

Решил переделать на запуск через js api.
Взял из документации код
<div id="player"></div>
    <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('player', {
                height: '270',
                width: '480',
                videoId: 'TaY7vohLXK4',
                playerVars: { 'autoplay': 1, 'controls': 1 },
                events: {
                    'onReady': onPlayerReady,
                    'onStateChange': onPlayerStateChange
                }
            });
        }

        function onPlayerReady(event) {
            //player.playVideo();
            event.target.playVideo();
            //console.log(player);
        }

        function onPlayerStateChange(event) {
            //console.log(player.getPlayerState());
        }

    </script>

Автозапуск не работает в принципе, пробовал убирать / добавлять playerVars, внутри onPlayerReady пробовал по разному запуск запускать - не помогает.
console.log(player) - объект есть.
В консоли ошибок нет.
console.log(player.getPlayerState()) - выдает -1, 3, -1 (что логично).
Перевернул всю документацию, начитался стэков - ничего не помогает...
Что я делаю не так?
  • Вопрос задан
  • 2770 просмотров
Подписаться 2 Простой 4 комментария
Решения вопроса 1
Lynn
@Lynn
nginx, js, css
Никак.

Все современные браузеры явно запрещают автозапуск звука без явного действия человека на странице. Потому что это раздражает людей.

https://developer.mozilla.org/en-US/docs/Web/Media...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 дек. 2024, в 11:07
10000 руб./за проект
23 дек. 2024, в 10:43
5000 руб./за проект
23 дек. 2024, в 10:32
2000 руб./за проект