Я успешно использую webcam.js с угловым приложением, чтобы пользователи могли делать снимки самих себя. Однако у меня возникла проблема, когда некоторые пользователи загружают пустые фотографии — все белые или все черные. Я подозреваю, что некоторые камеры запускаются медленнее, чем другие, что позволяет пользователям делать пустые снимки до того, как камера действительно заработает.
Я хотел бы иметь возможность определять, когда камера на самом деле включена и транслируется, чтобы я мог подождать до тех пор, чтобы сделать кнопку «Сделать фото» доступной. Обычно после того, как вы прошли этап безопасности, разрешив камеру, элемент видео остается пустым в течение полсекунды, пока камера включается, загружается источник или что-то еще. На моем компьютере, если я двигаюсь быстро, я могу просто нажать кнопку «Сделать снимок», прежде чем загрузится видеопоток, и он сделает снимок, который будет полностью черным. Я предполагаю, что на некоторых компьютерах полсекунды могут быть длиннее, возможно, достаточно, чтобы люди пытались сделать снимки до того, как увидят себя на экране.
Мы также пытаемся решить эту проблему с помощью лучшего UX, но было бы здорово, если бы был способ запретить людям делать снимки до того, как камера будет готова. Пока мне не удалось найти ничего об обнаружении включения камеры, но я подумал о возможности обнаружения доминирующего цвета на сделанном снимке, и если он полностью черный или белый, сообщите пользователю, чтобы он сделал это снова. , используя что-то вроде этого: Получить средний цвет изображения с помощью Javascript. Очевидно, что это не идеально, чтобы пользователь проходил через этот цикл, если бы мы могли подождать, чтобы показать кнопку «Сделать снимок».
Заранее спасибо!