我能够设置一个Arduino,以将来自麦克风的音频流传输到托管MQTT服务器的linux服务器中。然后,我有一个golang脚本,该脚本订阅了MQTT服务器,将有效载荷作为二进制文件保存到磁盘,然后使用FFMPEG将二进制文件转换为.WAV文件。
是否有可能使Web浏览器仅使用客户端代码来订阅同一MQTT服务器,从Arduino接收音频有效载荷,并将音频几乎实时地流式传输给听众的计算机扬声器?我看到了一个Paho Javascript Client库可以帮助我连接到MQTT,但是它似乎以字符串形式接收有效负载,这对我如何与音频流传输内容并不明显。因此,为什么我要问它是否可行/可行?
还是我需要构建另一个服务器端脚本来将MQTT数据作为音频数据流传输到Web客户端?
最佳答案
为确保它在所有环境中都有效,请确保通过WebSocket使用MQTT连接到服务器。
这里是对此的讨论:Can a web browser use MQTT?