Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

222
Views
Pantalla negra al cambiar de video.srcObject a video.src usando Safari

Tengo una aplicación en la que estamos usando la cámara web del usuario para grabar un video. Para eso solo uso lo siguiente

 const stream = await navigator.mediaDevices.getUserMedia({ video: true, audio: true }) video.srcObject = stream

Ahora grabo el video usando MediaRecorder API y cuando dejo de grabar, simplemente configuro el srcObject para que sea nulo y uso la grabación como una URL almacenada en el estado simplemente usando el siguiente código.

 video.srcObject = null const url = URL.createObjectURL(recording) setState({ url })

Entonces, lo que sucede es que, hasta que tenga algo en srcObject, por ejemplo, mientras se transmite o graba, funciona bien. Pero cuando detengo la grabación y configuro el srcObject para que sea nulo, no se reproduce automáticamente el video. Aunque el video ha recibido el src del estado. Revisé las herramientas de desarrollo de Safari, el src se actualizó correctamente en el DOM.

Otra depuración que ya he hecho es. Si no configuro el video.srcObject = stream mientras enciendo la cámara, entonces todo funciona bien, puedo grabar, detener la grabación y luego reproducir automáticamente el video con audio (sin olvidar, si no configuro el srcObject entonces, a menos que deje de grabar, no puedo ver nada).

Cualquier idea o sugerencia es bienvenida

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!