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

307
Visualizações
¿El búfer de datos del archivo no contiene el archivo completo?

Estoy intentando transmitir un archivo mp3 como respuesta a una solicitud de obtención del cliente. Llegué a recibir un búfer y hacer que se reproduzca. Sin embargo, cuando hice que el búfer se reprodujera con la API de audio web, me encontré con un problema; La canción (¿casi?) nunca termina, registré el búfer del que estoy leyendo y, por alguna razón, parece que no siempre tiene el mismo tamaño (y como debería ser), ¿alguien sabe por qué podría ser así? ?

Mi código de servidor:

 app.get(`/stest`, async (req, res) => { let f = fs.createReadStream(`./archive/Kill_Of_The_Night.mp3`) console.log(f) console.log(typeof(f)) // res.send(f) // f.pipe(res) f.on('open', () => { console.log(`opened`) res.attachment(`KillOfTheNight.mp3`) f.pipe(res) }) f.on('end', () => { console.log(`ended`) }) f.on('error', (e) => { console.log(e) }) })

Mi código de cliente:

 button.addEventListener('click', async () => { fetch(`/stest`).then(async (res) => { const audioContext = new AudioContext() console.log(res) let reader = res.body.getReader() console.log(reader) console.log(reader.closed) reader.read().then(({ value, done }) => { console.log(value.buffer) console.log(done) let b = undefined audioContext.decodeAudioData(value.buffer, (buffer) => { b = buffer let source = audioContext.createBufferSource() source.buffer = b source.connect(audioContext.destination) source.start(0) }).catch((e) => { console.log(e) }) }).catch(() => { console.log(e) }) }).catch((e) => { console.log(e) }) })

Ahora, cuando registro "value.buffer", obtengo un tamaño diferente cada vez, como se ve en esta captura de pantalla.

¿Alguien sabe que puedo asegurarme de que todo el archivo esté dentro del búfer para que el audio no se corte en el medio de la pista?

¡Gracias por leer!

about 4 years ago · Juan Pablo Isaza
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