Как я могу отправлять и воспроизводить песни в формате mp3 по частям без прерываний в Node Js с помощью Socket.io и Web Audio API? - PullRequest
0 голосов
/ 18 марта 2020

В основном пытается воспроизвести песню в формате 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

...