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

Автозапуск видео в карусели?

Доброго времени суток, такая проблема, мне нужно что бы активные видео в карусели( использую OWL) автоматически начинали воспроизводится. Изначально я просто добавлял к iframe значение autoplay через js:
//циклом обхожу все irame и передаю их в функцию которая добавляет нужные атрибуты:
 let oldLink= video.getAttribute('src');
    let newLink=oldLink+'?rel=0&modestbranding=1&autohide=1&mute=1&autoplay=1';
    video.setAttribute('src', newLink);
    video.setAttribute('allow','accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture');

Но есть одна проблема с этим подходом, он не работает на мобилках. Нашел реализацию через ютуб API:
<div id="player"></div>
                    <script>
                        // 2. 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);

                        // 3. This function creates an <iframe> (and YouTube player)
                        //    after the API code downloads.
                        var player;
                        function onYouTubeIframeAPIReady() {
                            player = new YT.Player('player', {
                                width: '100%',
                                videoId: '1w1212w12w12w',
                                playerVars: { 'autoplay': 1, 'playsinline': 1 },
                                events: {
                                    'onReady': onPlayerReady
                                }
                            });
                        }

                        // 4. The API will call this function when the video player is ready.
                        function onPlayerReady(event) {
                            event.target.mute();
                            event.target.playVideo();
                        }
                    </script>

Этот вариант работает уже и на мобилке, но никак не могу засунуть его в карусель, у меня выводиться только 1 видео. Насколько я понимаю это единственный вариант как можно сделать что бы видео автоматически запускались на телефонах( если нет, то подскажите как ещё можно), но у меня не получается применить его к карусели, подскажите как сделать что бы этот код можно было вызывать к каждому видео в карусели?
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы