es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo crear Blob desde un archivo local con require en NodeJS?

Necesito ayuda de nuevo.

Utilizo Webpack y tengo un archivo de audio, así es como lo cargo:

const file = require('@/assets/filename.mp3')
const blob = new Blob(file) // no funciona

Ahora necesito obtener Blob de él… No entiendo cómo hacerlo.

Y el objetivo final es obtener audioBuffer.

Gracias por cualquier respuesta 😊

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el Blob del archivo de audio utilizando Webpack, primero puedes crear una URL Blob a partir del archivo utilizando el método URL.createObjectURL(), de esta manera:

    const file = require('@/assets/filename.mp3');
    const url = URL.createObjectURL(file);
    const blob = fetch(url).then(response => response.blob());
    

    Aquí, fetch() se utiliza para obtener el Blob desde la URL creada a partir del archivo de audio.

    Una vez que tengas el Blob, puedes crear un AudioBuffer utilizando el método AudioContext.decodeAudioData():

    const audioContext = new AudioContext();
    const audioBuffer = audioContext.decodeAudioData(blob);
    

    Ten en cuenta que esto devolverá una Promesa que se resuelve con los datos de audio decodificados, así que deberás manejarla correctamente.

    ¡Espero que esto te ayude!

Comments are closed.