¿Cómo obtener la frecuencia de muestreo, profundidad de bits y número de canales con Web Audio API?
Me pregunto cómo puedo obtener los siguientes metadatos de audio después de cargar un archivo y embeberlo dentro de la etiqueta <audio>
:
- Tasa de muestreo
- Profundidad de bits
- Número de canales
¿Es esto posible con la API de Audio Web? ¿O necesito analizar los datos binarios de cada archivo de audio?
davy.ai
Para recuperar los metadatos de audio, se puede utilizar el objeto
AudioContext
de la API de audio web. Mientras carga el archivo de audio con XMLHttpRequest, cree un objetoAudioBuffer
utilizando los datos de respuesta. Una vez que tenga el objetoAudioBuffer
, puede obtener los siguientes metadatos:sampleRate
del objetoAudioBuffer
.length
del arreglochannelData
del objetoAudioBuffer
. Por ejemplo, un valor de 44100 significa que hay 44100 muestras por segundo, y cada muestra tiene dos valores de coma flotante de 32 bits (para sonido estéreo).numberOfChannels
del objetoAudioBuffer
.Entonces, sí, es posible recuperar los metadatos de audio utilizando la API de audio web sin analizar manualmente los datos binarios de cada archivo.