Камера не работает: разбор по сообщению страницы
Если камера не работает, проверьте три вещи по порядку: разрешён ли доступ к камере для браузера, не занята ли она другой программой и видит ли система хотя бы одну камеру. Этот тест показывает, на каком из трёх шагов всё встало: у каждой ошибки своя подпись и своя подсказка.
Что означает сообщение
| Сообщение | Что произошло | Что делать |
|---|---|---|
| Доступ запрещён | В браузере закрыт доступ к камере для сайта | Разрешить в настройках камеры и повторить |
| Камера занята | Устройство держит мессенджер или другая вкладка | Закрыть программу и запустить проверку заново |
| Камера не найдена | Система не видит ни одного устройства | Проверить подключение и клавишу отключения камеры |
| Не умеет разрешение | Камера не поддерживает выбранный размер кадра | Выбрать «как отдаёт сама камера» |
Рассчитано по методике инструмента «Проверка веб-камеры онлайн: работает ли камера и что она видит».
Как считаем
Разрешение кадра берётся у самого устройства: getSettings() возвращает фактические width, height и frameRate, поэтому страница показывает то, что камера отдала, а не то, что у неё попросили. Ошибки доступа разбираются по name исключения: NotAllowedError — доступ закрыт, NotFoundError — устройств нет, NotReadableError — устройство занято, OverconstrainedError — разрешение не поддерживается.
Ограничения и допущения
- Проверка идёт тем же путём, что и звонок в браузере: страница просит поток у системы через getUserMedia. Если здесь кадр есть, а в мессенджере нет — дело в настройках мессенджера, а не в камере.
- Кадр зеркалится по умолчанию: человек привык видеть себя как в зеркале. В снимок зеркало тоже попадает — если нужна картинка «как видит камера», снимите галочку.
- Частота кадров и разрешение зависят от освещения: в тёмной комнате почти все веб-камеры сами снижают кадры в секунду, чтобы вытянуть яркость. Это не поломка.
- Доступ к камере браузер даёт только на HTTPS или localhost и только после действия пользователя. Список названий камер появляется после разрешения: до него браузер скрывает метки устройств.