Почему videojs не работает только в Chrome? - PullRequest
0 голосов
/ 08 октября 2018

Я использую video.js в React.Моя проблема в том, что видео не работает только в Chrome.Видео загружается, но не воспроизводится автоматически.Это работает в Firefox, Microsoft Edge, даже Internet Explorer.Видео запускается в Chrome только тогда, когда у меня открыты инструменты разработчика.У тебя когда-нибудь была такая проблема?Мой код очень прост:

<video data-setup='{"loop": true, "autoplay": true, "loadingSpinner": false}' 
className="video-js vjs-default-skin article-video">
    <source src={this.state.video}/>
</video>

Состояние загружает различные видео на основе innerWidth.

РЕДАКТИРОВАТЬ:

Приглушенный атрибут позволяет Chrome автоматически воспроизводить видео:

<video muted="muted" data-setup='{"loop": true, "autoplay": true, "loadingSpinner": false}' 
className="video-js vjs-default-skin article-video">
    <source src={this.state.video}/>
</video>

1 Ответ

0 голосов
/ 08 октября 2018

На данный момент chrome запрещает автоматическое воспроизведение видео html5, поэтому по умолчанию они не разрешают автоматическое воспроизведение. Подробнее об изменениях можно узнать здесь ...

Вот их правила автозапуска:

Правила автозапуска Chrome просты:

  • Приглушенный автозапуск всегда разрешен.
  • Автозапуск со звуком разрешен, если:
    • Пользователь взаимодействовал с доменом (нажмите, коснитесь и т. Д.).
    • На рабочем столепользовательский порог индекса вовлеченности в медиа был превышен, это означает, что пользователь ранее воспроизводил видео со звуком.
    • На мобильном телефоне пользователь [добавил сайт на свой домашний экран].
  • Верхние фреймы могут делегировать разрешение автозапуска для своих фреймов, чтобы разрешить автоигру со звуком.

Относительно того, почему автозапуск включен с открытыми инструментами разработчика: Это дает смутный ответ:

Переключатели разработчика

Как разработчик, вы можете захотеть изменить поведение политики автозапуска Chrome локально, чтобы протестировать свой веб-сайт в зависимости от вовлеченности пользователя.

  • Вы можете решить отключитьполностью политика автозапуска, установив флаг Chrome «Автозапуск политики» на «Нет жеста пользователя» в chrome: // flags / # autoplay-policy.Это позволяет вам протестировать ваш веб-сайт так, как если бы пользователь активно занимался вашим сайтом, и автозапуск воспроизведения всегда будет разрешен.

  • Вы также можете решить, что автовоспроизведение при воспроизведении никогда не разрешается, отключивиспользование MEI, применение политики автовоспроизведения к Web Audio и выяснение того, получают ли сайты с самым высоким общим MEI автовоспроизведение для новых пользователей по умолчанию.Это можно сделать с помощью трех внутренних переключателей с

    chrome.exe --disable-features = PreloadMediaEngagementData, AutoplayIgnoreWebAudio, MediaEngagementBypassAutoplayPolicies.

...