Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

149
Vistas
navigator.mediaDevices.enumerateDevices() devuelve etiquetas sin sentido y getUserMedia() parece estar siempre usando el mismo dispositivo

Tengo un Samsung Galaxy S22 Ultra y estoy tratando de usar navigator.mediaDevices para (1) enumerar todas las cámaras y (2) mostrar la salida de cualquiera de las cámaras.

Aquí están las etiquetas de los dispositivos cuando enumero todas las cámaras en mi dispositivo:

  • camera2 1, mirando hacia el frente
  • camera2 3, mirando hacia el frente
  • camera2 2, mirando hacia atrás
  • camera2 0, mirando hacia atrás

Según tengo entendido, el teléfono tiene 5 cámaras en total:

  • una cámara ancha de 108MP
  • una cámara ultra ancha de 12MP
  • un teleobjetivo de 10MP
  • un teleobjetivo periscopio de 10MP
  • cámara frontal.

Entonces, 4x de las cámaras están orientadas hacia atrás y 1x está orientada hacia adelante. Entonces, ¿por qué navigator.mediaDevices.enumerateDevices() devuelve algo completamente diferente?

Mi siguiente pregunta es... cuando uso cualquiera de los ID de dispositivo que navigator.mediaDevices.getUserMedia() devolvió, obtengo la vista de la cámara frontal en mi teléfono, incluso si selecciono un ID de dispositivo cuya etiqueta está "mirando hacia atrás". ¿Que pasa con eso?

Aquí está mi código:

 <script> navigator.mediaDevices.getUserMedia({video: true}); var getCameraSelection = async () => { var devices = await navigator.mediaDevices.enumerateDevices(); var videoDevices = devices.filter(device => device.kind === 'videoinput'); const options = videoDevices.map(videoDevice => { return `<li><a href="#" onclick="useCamera('${videoDevice.deviceId}')">${videoDevice.label}</a></li>`; }); document.querySelector('#output').innerHTML = '<ul>' + options.join('') + '</ul>'; }; getCameraSelection(); var useCamera = async (deviceId) => { const stream = await navigator.mediaDevices.getUserMedia({ deviceId: deviceId, video: true }); var video = document.querySelector('video'); video.srcObject = stream; video.play(); return false; }; </script> <div id="output"></div> <video autoplay></video>
about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda