我想将流式录制的音频从浏览器直播到服务器并播放。服务器最终将成为播放这些音频流的嵌入式设备。
到目前为止,我已成功录制音频并将其编码为WAVE文件,并使用网络音频API在浏览器上播放,并遵循此tutorial。
现在我有一个.WAV编码的blob流。我试图找到使用web套接字连接将这些流传输到nodejs后端并使用npm模块播放它们的方法。但我没有运气。
有谁知道我应该遵循的任何资源或模块?也许我应该尝试不同的方法?自从在浏览器上录制以来,音频需要在服务器上相对快速地播放。
答案 0 :(得分:21)
我目前正在使用一些允许通过网络浏览器流式传输到互联网广播服务器的软件。
我使用WebAudio API和getUserMedia来从声音设备获取实时PCM音频数据。从那里,我将此数据从32位浮点数转换为16位,12位或8位数据,具体取决于可用带宽量。这个转换后的int样本被写入带有BinaryJS的流设置,它在Node.js和客户端上包装流。作为BinaryJS的奖励,您可以根据需要打开任意数量的流,因此我在同一个WebSocket连接上使用第二个流来控制数据。