В основном пытается воспроизвести песню в формате mp3 по частям.
Это код бэкенда:
readStream = fs.createReadStream(song);
readStream.on("data", function(data) {
songBuffer.push(data);
if (currentIndexToSend === 0) {
sendDataToClients(io);
}
});
Это код внешнего интерфейса:
this.context.decodeAudioData(data, audioBuffer => {
this.current++;
this.sources[this.current].start(0);
this.radioSharedService.radioPlayingTime += this.songBuffer[this.current].duration;
} else {
this.stopRadio();
this.radioSharedService.isRadioPlaying = false;
}
}.bind(this);
if (this.sources.length === 1) {
this.startTime = new Date();
this.current = 0;
this.sources[this.sources.length - 1].start(0);
}
}
Проблема в том, что когда я получаю блок и декодирую его, мне нужно снова загружать источник, поэтому он просто прерывает песню.
Теперь мне нужно решение, которое принимает audioBuffer и добавляет / добавляет к существующему audioBuffer без необходимость загрузить или перезапустить аудиоплеер.
К вашему сведению: пожалуйста, опубликуйте решение в StackBlitz