Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

152
Visualizações
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 à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda