我想将录制的音频从浏览器实时流传输到服务器并播放。该服务器最终将成为播放这些音频流的嵌入式设备。
到目前为止,我已经成功地录制了音频并将其编码为WAVE文件,并使用网络音频API并按照本教程在浏览器上播放。
现在,我有了.WAV编码的Blob流。我试图找到通过Web套接字连接将其流式传输到Node.js后端并使用npm模块播放它们的方法。但是我没有运气。
有人知道我应该遵循的任何资源或模块吗?也许我应该尝试其他方法?自从在浏览器上录制以来,音频需要在服务器上相对较快地播放。
我目前正在使用某些软件进行此操作,该软件可以通过您的Web浏览器流式传输到Internet广播服务器。
我将WebAudio API与getUserMedia一起使用,以从声音设备获取实时PCM音频数据。从那里,我将这些数据从32位浮点型转换为16位,12位或8位数据,具体取决于可用的带宽量。转换后的int样本将通过BinaryJS写入流设置,该流设置将流同时包装在Node.js和客户端上。作为BinaryJS的好处,您可以根据需要打开任意多个流,因此我在同一WebSocket连接上使用第二个流来存储控制数据。
http://demo.audiopump.co:3000/