Estoy tratando de usar el módulo de altavoz para transmitir audio desde una solicitud web, devolviendo un flujo interminable de datos de audio en forma de búfer a mis altavoces. Así que estoy tratando de usar el res.on('data', . . .) para hacer algo con los fragmentos, pero parece que no puedo averiguar qué hacer.
He pensado en algo en ese sentido:
const https = require('https'); const Speaker = require('speaker'); var speaker = new Speaker({ channels: 2, bitDepth: 16, sampleRate: 44100 }); https.get('<url>', (res) => { res.on('data', chunk => { /* Somehow convert the Buffer to PCM audio data and * give it to the speaker */ }); });He estado buscando en Google y tratando durante 2 días, y pensé en preguntar aquí ahora.
El objeto res que recibe en la devolución de llamada es una secuencia, y la instancia de altavoz que creó es una secuencia de escritura ( de docs ), por lo que simplemente puede conectarlos. Algo como esto :
// Not tested code. const https = require('https'); const Speaker = require('speaker'); let speaker = new Speaker({ channels: 2, bitDepth: 16, sampleRate: 44100 }); https.get('<url>', (res) => { res.pipe(speaker); });