Я использую пакет QuaggaJS для сканирования штрих-кодов. Чтобы настроить Quagga, я даю ему идентификатор HTML-элемента div, и он вставляет элемент <video>
в элемент div.
Если пользователь не предоставляет доступ к камере, видео элемент все еще отображается. Я добавил repeating-linear-gradient
в качестве фона, и он выглядит великолепно.
Если пользователь предоставляет доступ к камере, прямой эфир отображается в элементе видео. Когда Quagga останавливается, он продолжает показывать последний кадр видеопотока. Как мне заставить его показывать фон вместо этого? Я бы предпочел придерживаться атрибута фона CSS, а не атрибута html poster, если это возможно.
HTML для обоих состояний очень похож.
Без доступа к камере (отображается фон):
<video autoplay="true" preload="auto" src=""></video>
С доступом к камере (поэтому последний видеокадр показывает на остановке):
<video autoplay="true" preload="auto" src="" muted="true" playsinline="true"></video>
В случае, если доступ предоставлен, html не изменяется при остановке видео.