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

281
Vistas
Recupere el archivo mp3 del caché y reprodúzcalo en el navegador

Tengo un archivo mp3 que estoy almacenando en caché como tal:

 const request = URL_TO_MY_MP3_FILE caches.open("my-cache").then(cache => { cache.add(request); });

Puedo ver que el archivo mp3 se almacena en caché en la pestaña Aplicación: ingrese la descripción de la imagen aquí

Por cierto, ¿cómo me aseguro de que el tipo de contenido se almacene en caché como audio/mp3 y no como audio/mpeg ?

Más adelante, me gustaría recuperar el archivo mp3 del caché para poder reproducirlo en el navegador:

 caches.open("my-cache").then(cache => { const responsePromise = cache.match(request); responsePromise.then(result => { console.log(result.body) this.audio = new Audio(result.body); const playPromise = this.audio.play(); playPromise.then(function() { console.log('success!') }).catch(function(error) { console.log(error) }.bind(this), false); });

})

Esta es la salida de console.log(result.body) : ingrese la descripción de la imagen aquí

Después de cargar el archivo mp3 con new Audio(result.body) , intento reproducir el archivo con this.audio.play() pero esto da como resultado un error:

DOMException: no se pudo cargar porque no se encontró una fuente compatible.

¿Cómo puedo recuperar el archivo mp3 del caché y reproducirlo en el navegador?

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Tienes que llamar a reader.read()

 caches.open("my-cache").then(cache => { const responsePromise = cache.match(request); responsePromise.then(result => { var reader = result.body.getReader(); reader.read().then((result) => { const mimeType = 'audio/mpeg' const url = URL.createObjectURL(new Blob([result.value.buffer], {type: mimeType})) this.audio = new Audio(url); const playPromise = this.audio.play(); playPromise.then(function() { console.log('success!') }).catch(function(error) { console.log(error) }.bind(this), false); }); });

});

about 4 years ago · Santiago Gelvez 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