Итак, я пытаюсь использовать Web Audio API
для декодирования и воспроизведения фрагментов файлов MP3, передаваемых в браузер, с помощью Node.js и Socket.IO.
Мой вопрос - это мой единственный способ создать новый AudioBufferSourceNode
для каждого фрагмента, полученного из полученных аудиоданных, или можно создать один AudioBufferSourceNode для всех фрагментов и просто добавить новые аудиоданные в конец источника node buffer
?
В настоящее время я получаю мои фрагменты MP3, декодирование и планирование их для воспроизведения. Я уже подтвердил, что каждый полученный бит является "допустимым фрагментом MP3" и успешно декодируется Web Audio API.
audioContext = new AudioContext();
startTime = 0;
socket.on('chunk_received', function(chunk) {
audioContext.decodeAudioData(toArrayBuffer(data.audio), function(buffer) {
var source = audioContext.createBufferSource();
source.buffer = buffer;
source.connect(audioContext.destination);
source.start(startTime);
startTime += buffer.duration;
});
});
Приветствуются любые советы или понимание того, как лучше всего "обновлять" воспроизведение аудио API Web с помощью новых аудиоданных.