Guía de solución · Prueba de webcam
Cómo solucionar «OverconstrainedError» en una cámara o un micrófono
OverconstrainedError significa que una página pidió ajustes que tu dispositivo no puede ofrecer, como una resolución exacta, una tasa de fotogramas o un ID de dispositivo concreto que ya no existe. El dispositivo funciona, pero la petición era demasiado estricta. Como visitante lo arreglas eligiendo otro dispositivo o reiniciando la página. Como desarrollador, relajas las restricciones.
Lista de soluciones rápidas
- 1Recarga la página y elige la cámara o el micrófono predeterminado en lugar de uno concreto.
- 2Desconecta y vuelve a conectar el dispositivo y actualiza para que el navegador lo vuelva a listar.
- 3Selecciona otra cámara u otro micrófono de la lista de dispositivos y prueba de nuevo.
- 4Actualiza el navegador, porque las versiones antiguas informan de forma distinta de los límites de resolución.
- 5Si desarrollas la página, usa valores ideal para el ancho, el alto y la tasa de fotogramas en lugar de valores exact.
Qué son las «restricciones»
Una página puede pasar restricciones a getUserMedia: width, height, frameRate, facingMode, deviceId y opciones de audio. Las palabras exact y min hacen obligatorio un valor. Si ningún dispositivo conectado puede cumplir un valor obligatorio, el navegador se detiene con OverconstrainedError e indica en el error qué ajuste falló.
Los desencadenantes típicos son pedir 1920 × 1080 a una cámara de 720p, solicitar facingMode environment en un portátil con una sola cámara o reutilizar un deviceId guardado antes de desconectar el dispositivo.
Cómo deben gestionarlo los desarrolladores
Prefiere ideal a exact, lee la propiedad constraint del error para ver qué ajuste falló y reintenta una vez con restricciones más sencillas. Muestra al usuario un selector de dispositivo en lugar de fallar en silencio. La prueba de webcam indica la resolución y la tasa de fotogramas reales que entrega la cámara para que veas qué es posible.
Preguntas frecuentes
Preguntas frecuentes
¿Qué significa OverconstrainedError?
La cámara o el micrófono no pudo cumplir un ajuste que la página exigía, como un tamaño exacto o un dispositivo concreto que ya no está conectado.
¿Por qué aparece después de desconectar una cámara USB?
Puede que la página siga pidiendo esa cámara por su ID guardado. Elige otro dispositivo o recarga para que la página pida el dispositivo predeterminado.
¿OverconstrainedError es un problema de permisos?
No. Los errores de permisos son NotAllowedError. Este trata de ajustes no compatibles, así que el aviso de permiso puede no ser el problema.
¿Cómo veo qué admite mi cámara?
Ejecuta la prueba de webcam y consulta la resolución y la tasa de fotogramas que se muestran junto a la imagen en vivo.