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

136
Visualizações
Los archivos de audio almacenados en S3 no se pueden reproducir

Puedo cargar correctamente archivos de audio en AWS S3 , sin embargo, los archivos no se reproducen, ya sea que se descarguen o reproduzcan en el navegador. Los archivos tienen un tamaño de filesize .

Estoy cargando un objeto audioBlob en AWS S3 :

 const [audioBlob, setAudioBlob] = useState(null) const submitVoiceMemo = async () => { try { await fetch('/api/createVoiceMemo', { method: 'PUT', body: audioBlob }) } catch (error) { console.error(error) } }

Esta es la ruta API :

 module.exports = requireAuth(async (req, res) => { try { AWS.config.update({ accessKeyId: process.env.AWS_ACCESS_KEY_1, secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY_ID, region: 'us-east-2', signatureVersion: 'v4' }) const s3 = new AWS.S3(); const uuid = randomUUID() const s3Params = { Bucket: 'waveforms', Key: `voicememo/${uuid}.mp3`, Body: req.body, ContentType: 'audio/mpeg', ACL: 'public-read' } await s3.upload(s3Params).promise() } catch (e) { res.status(500).json({ error: e.message }) } })

Según esta pregunta, he confirmado que req.body es una string .

El archivo que recibe S3 tiene un tamaño de filesize y el tipo de contentType correcto cuando se comprueba en la S3 console . Simplemente no se puede reproducir cuando se descarga o se reproduce directamente en el navegador.


A continuación se muestra cómo se audioBlob y también audioFile (un MP3) (básicamente, el usuario graba una nota de voz y cuando hace clic en stopRecording la grabación, el audio sin procesar se almacena como state ):

 const [audioBlob, setAudioBlob] = useState(null) const [blobURL, setBlobUrl] = useState(null) const [audioFile, setAudioFile] = useState(null) const stopRecording = () => { recorder.current .stop() .getMp3() .then(([buffer, blob]) => { const file = new File(buffer, 'audio.mp3', { type: blob.type, lastModified: Date.now() }) setAudioBlob(blob) const newBlobUrl = URL.createObjectURL(blob) setBlobUrl(newBlobUrl) setIsRecording(false) setAudioFile(file) }) .catch(e => console.log(e)) }

¿Cómo puedo almacenar correctamente el audio generado en el front-end, en S3 ?

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