在 JavaScript 中播放流音频

Luc*_*emy 7 javascript audio streaming web-audio-api

我目前正在使用node-lame对原始 PCM 输入流进行编码,并且 Node.JS 中有以下代码可以成功输出二进制 MP3 块:

server.on('request', (req, res) => {
  encoded.pipe(res);
});
Run Code Online (Sandbox Code Playgroud)

我尝试在前端界面中请求此代码,代码如下:

var audio = new Audio('http://localhost:8000/a.mp3'); // the above
audio.play();
Run Code Online (Sandbox Code Playgroud)

但是,由于音频源是连续的输入流,因此内容会不断下载:

无尽的下载

相反,我希望能够在下载块时播放它们。

我可以http://localhost:8000/a.mp3在 VLC 或 Quicktime Player 等应用程序中访问,并且音频传输工作正常;我只是不知道如何在网络上最好地做到这一点。

提前致谢。

小智 6

这段代码对我们有用:

<audio id="music" preload="all">
   <source src="http://localhost:8000/a.mp3">
</audio>
<script>
  let music = document.getElementById('music');
  music.play();
</script>
Run Code Online (Sandbox Code Playgroud)