Videojs запрашивает полноэкранный режим при первом воспроизведении

Я использую videojs для своего видеоплеера. Мое приложение заблокировано в портретном режиме, но когда я впервые воспроизводю видео (когда отображается большая кнопка воспроизведения), я хочу перейти в полноэкранный режим. если пользователь выходит из полноэкранного режима, приложение следует вернуть в портретный режим и воспроизводить видео в режиме онлайн, а не в полноэкранном режиме. Если пользователь хочет вернуться в полноэкранный режим, он должен войти в него, нажав на переключатель полноэкранного режима в правом нижнем углу проигрывателя. Я заставил работать с переходом в полноэкранный режим, позвонив

this.player.bigPlayButton.on('tap', () => {
  if (fullscreenOnStart) {
    this.player.requestFullscreen();
  }
});

Однако, когда я нажимаю за пределами большой кнопки воспроизведения (которая находится по центру), она не переходит в событие касания bigPlayButton, и видео не будет воспроизводиться в полноэкранном режиме. Вы, ребята, знаете, какое событие касания я должен прослушать, чтобы запросить полноэкранный режим? Спасибо!

Вы пробовали PlayToggle?

David 08.12.2018 18:18

@ Дэйв, но ты говоришь о кнопке воспроизведения. Когда отображается BigPlayButton, не видно элемента управления, кроме большой кнопки воспроизведения в середине видео. Когда я нажимаю где-нибудь на видео, но не на самой большой кнопке воспроизведения, он все равно запускает видео, но не реагирует на обработчик события касания большой кнопки воспроизведения.

Southgarden116 10.12.2018 09:09
Поведение ключевого слова "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) для оценки ваших знаний,...
0
2
1 969
1

Ответы 1

Я добавил прослушиватель событий к элементу div, чтобы добиться желаемого. Теперь это все еще происходит только тогда, когда видна большая кнопка воспроизведения, но я могу щелкнуть и за пределами кнопки.

this.player.el().addEventListener('touchend', () => {
  if (!this.player.hasStarted() && fullscreenOnStart) {
    this.player.requestFullscreen();
  }
});

Если кто-то знает лучший способ добиться этого или у videojs есть что-то для этого, мне все еще интересно знать.

Я использовал событие videojs 'play', чтобы проверить текущее время. Если видео воспроизводится, а текущее время не определено или меньше 1 секунды, запросите полноэкранный режим. У нас это работает нормально.

eadam 18.12.2020 01:50

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