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

137
Vistas
MediaSource nunca emite un evento sourceopen en React

Estoy tratando de transmitir un archivo de video usando la API MediaSource de Javascript en un enlace personalizado de React.

Aquí está el fragmento de mi código:

 const useMyHook = (videoRef: React.MutableRefObject<HTMLVideoElement | null>) => { ... useEffect(() => { const mediaSource = new MediaSource(); videoRef.current!.src = URL.createObjectURL(mediaSource); mediaSource.addEventListener('sourceopen', () => { // this never happens }); }, []); ... }
 const MyComponent = () => { const videoRef = useRef<HTMLVideoElement | null>(null); const {} = useMyHook(videoRef); return ( <> <video ref={videoRef} controls />; </> ); };

Parece que mediaSource nunca emite el evento 'sourceopen' .

Qué más, cuando intento usar este código en diferentes proyectos con html simple y javascript, funciona bien.

Estaba tratando de usar document.getElementByTagName en lugar de useRef o usar esto directamente en mi componente, pero con el mismo resultado.

¿Alguien puede decirme cuál es el problema? ¿Hay algún problema con React o algo así?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Cree una instancia y mantenga el estado de MediaSource en todo el alcance del componente:

 import React, { useState, useEffect, useRef } from 'react' const MyComponent = () => { const [mediaSource] = useState(new MediaSource()) const videoRef = useRef<HTMLVideoElement | null>(null) // component init useEffect(() => { mediaSource.addEventListener('sourceopen', ...) }, []) // videoRef changes useEffect(() => { videoRef?.current!.src = URL.createObjectURL(mediaSource) }, [videoRef]) };
about 4 years ago · Juan Pablo Isaza Denunciar
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