После долгих поисков мы включили на нашем сайте автозапуск с голосовой прокруткой, но возникла проблема

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

Это мой код:

HTML:

<video 
id = "video--<?php echo $wo['media']['storyId'];?>" 
class = "plyrr-<?php echo $wo['media']['storyId'].$rand ; ?> <?php echo($wo['rvad_con']); ?> video-container" 
playsinline preload = "metadata" 
poster = "<?php  echo $wo['media']['video_thumb'];?>" 
data-setup = "{}" data-post-video = "<?php echo $wo['media']['storyId'];?>"
>

JavaScript (JQuery):

$(window).scroll(function(e)
{
    if (!document.pictureInPictureElement) 
    {
        $('.plyrr-<?php echo $wo['media']['storyId'].$rand ; ?>').each(function()
        {
            if ($(this).is(":in-viewport")) 
            { jQuery(this).get(0).play(); } 
            else 
            { $(this)[0].pause();  }
        });
    }
});

Проблема:
Он не работает так, как Instagram или Facebook, где одновременно воспроизводится только одно видео.

Можно ли настроить размер области просмотра (или что-то в этом роде), если два видео находятся внутри области просмотра одновременно? Как остановить первое видео и воспроизвести второе (последнее видео в области просмотра после прокрутки вверх или вниз)?

(1) Я не использую JQuery (только обычный JS), поэтому, пока вы ждете ответа JQuery, просто рассмотрите другой вопрос о позициях X/Y. Может быть полезно для идей по ее решению.

VC.One 02.08.2024 01:58

(2) Попробуйте использовать идентификаторы видеотегов в своих интересах. Возможно, у вас есть переменная типа current_playing_id, и всякий раз, когда в области просмотра появляется новое видео, используйте оператор IF, чтобы сначала приостановить/остановить «текущее» видео, а затем обновить current_playing_id var, чтобы сделать этот другой новый идентификатор видео новым «текущим» для играть. (3) Если в окне просмотра находятся два видео, используйте их положение по оси Y, чтобы узнать, насколько они центральны (по сравнению с экраном). Идентификатор с Y, наиболее близким к «центру экрана», должен быть «текущим» для воспроизведения.

VC.One 02.08.2024 02:01

Спасибо за комментарий... можете ли вы разместить мой код в позиции X/Y? Я могу скопировать и вставить раздел сценария... Я уже использую для этого множество методов, но безуспешно.

Anil Kumar 02.08.2024 03:25
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
84
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После многих исследований и изменений методов, наконец, я получил этот ответ. я изменился в своем jQuery(JavaScript)

if ($(this).is(":in-viewport(250)")) 

Теперь в окне просмотра воспроизводится по одному видео за раз.

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