Prueba de cámara y micrófono

Comprueba webcam, micrófono y altavoz como los ve tu app de videollamada: vista previa en vivo y medidor de nivel real.

El vídeo y el audio se quedan en esta página: ningún fotograma se dibuja en un canvas para subirlo ni se envía ninguna muestra. Al detener o salir de la pestaña se cierran todos los flujos.

El navegador pedirá permiso al pulsar Activar. Nada empieza antes de eso.

Cámara—
Tamaño real del vídeo: —Tasa de fotogramas: —
Micrófono—
Nivel de entrada
Prueba de altavoz

El pitido suena por donde tu sistema enrute el audio ahora mismo: demuestra que hay salida funcionando, pero esta página no puede confirmar cuál (no detecta unos auriculares concretos).

Cómo funciona

Ambas secciones son envoltorios finos y honestos de navigator.mediaDevices.getUserMedia. El botón de cámara pide un flujo de vídeo (idealmente 1280 × 720) y lo conecta directo a un elemento de video local; el botón de micrófono pide un flujo de audio y lo enruta por un AnalyserNode de Web Audio que mide la mayor desviación del silencio en cada fotograma para mover el medidor, su marcador de pico y el aviso de saturación. El pitido es un oscilador de 440 Hz por la ruta de salida normal.

Restricciones y facingMode
getUserMedia acepta restricciones en lugar de un dispositivo: la página pide video true con ancho y alto ideales, y al elegir un dispositivo vuelve a pedirlo con ese deviceId exacto. En móviles puedes usar el selector para elegir frontal o trasera. La lectura de resolución muestra video.videoWidth × videoHeight — lo que la cámara entrega de verdad, que suele diferir del tamaño ideal solicitado.
Etiquetas de dispositivo solo tras el permiso
enumerateDevices puede listar tus cámaras y micrófonos en cualquier momento, pero hasta que se concede el permiso su etiqueta es una cadena opaca. Por eso los selectores empiezan como «Predeterminado del sistema» y se rellenan con nombres reales justo después de pulsar Activar: la misma regla da forma a la lista de dispositivos de cualquier app de llamadas.
Nivel vs volumen
El medidor muestra nivel de señal, no el volumen de tu sistema: lee la onda que el micrófono captura realmente, tras la ganancia de entrada del SO. Un micrófono que nunca llega al máximo significa poca ganancia o distancia, no un dispositivo roto; un medidor clavado al 100% con aviso de saturación significa distorsión que todos oirán en la llamada.

Preguntas frecuentes

¿Funciona sin conexión o sin dispositivos?

La página es HTML/JS puro: una vez cargada funciona sin conexión y ningún servidor interviene en la prueba. Sin cámara ni micrófono conectados, los botones Activar informan de que no se encontró ningún dispositivo; nada revienta y la otra sección sigue funcionando. En un móvil puedes alternar entre cámara frontal y trasera con el selector.

¿Zoom o Teams verán el mismo resultado?

Normalmente sí, porque usan la misma capa de dispositivos del sistema: si aquí la cámara emite y el medidor se mueve, el hardware está sano. Las dos excepciones honestas son las apps que retienen el dispositivo en exclusiva (algunas bloquean que el navegador abra una cámara que ya es suya) y controladores raros que solo exponen resoluciones bajas a los navegadores.

El medidor casi no se mueve pero me escucho en las grabaciones, ¿por qué?

El medidor lee el nivel de entrada bruto tras el ajuste de volumen de entrada del sistema, así que un volumen de entrada bajo da un medidor tranquilo incluso con un micrófono bueno. Sube el nivel de entrada del sistema a unos 80% y habla a distancia normal; el aviso de saturación te dice cuando te pases.

¿Por qué los dispositivos aparecen como 'Micrófono (0000…)' hasta dar permiso?

Los navegadores ocultan las etiquetas legibles tras el cuadro de permiso para evitar la huella digital de tu hardware. Los nombres del selector aquí (y en cualquier app de llamadas) solo cobran sentido después de pulsar Activar y permitir el acceso: es una norma de privacidad del navegador, no un fallo de esta página.

¿Se sube algo a un servidor?

No. El vídeo va de getUserMedia directamente a un elemento de video local; el audio lo analiza un AnalyserNode de Web Audio en esta pestaña y se descarta. Ningún fotograma se exporta por canvas ni sale ninguna muestra de audio, y detener o cerrar la pestaña libera los dispositivos al instante.