В соответствии с Google Developers вы можете автоматически воспроизводить видео HTML5 на мобильных устройствах, пока атрибут muted
настроен на включение.Экран беззвучного автовоспроизведения не работает на Android
Я использую the following code для его проверки.
<script>
const video = document.createElement('video');
// TODO: Include video in DOM to test the change.
video.addEventListener('playing', event => alert('The video is playing off-screen.'));
video.autoplay = 'true';
video.muted = 'true';
video.src = 'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4';
</script>
Обратите внимание, что я не включая video
элемент в DOM (я пост-обработки на нем с помощью canvas
поэтому необходимо быть не показан). Я получаю IntersectionObserver.observe (target): целевой элемент не является потомком корняwhich is caused by muted
being set on the video
but it not being in DOM.
На рабочем столе Chrome 55.0.2883.87 м (64-бит) показан alert
. На мобильном Chrome 55.0.2883.91 (navigator.userAgent
) это не так. Когда video
находится в DOM, обе версии работают. В мобильном браузере нет дополнительных предупреждений по сравнению с настольным.
Это ошибка в мобильном Chrome?
«Воспроизведение начнется автоматически для видеоэлемента *, когда оно появится в поле зрения *, если установлены оба режима автовоспроизведения и приглушения ...» – Offbeatmammal
Ха, это неловко. В следующий раз нужно отключить лазерное зрение моего кода, прежде чем задавать вопрос. Пожалуйста, опубликуйте комментарий в качестве ответа, чтобы я мог его принять. BTW Я понял, что 'display: none' не считается как просмотр, а' visibility: hidden'. –