收听实时音频流

时间:2021-07-09 20:38:27

标签: html audio live

我目前正在使用标准插座从 C++ 传输我的麦克风。现在我想从网上收听这个流。 我曾尝试直接从音频标签访问流,但这不起作用。

我也尝试将内容类型设置为音频/wav,但这也不起作用。

我尝试写入文件并直接从音频元素访问它,但它没有将新的写入部分添加到音频元素。它也从音频的开头开始,我读到它有很高的延迟。

有没有办法以极低的延迟流式传输音频?

我想过每 50 毫秒发出一次 get 请求并将新数据添加到音频或录制 50 毫秒的音频并在最后一个剪辑的结尾更改音频的 src。

1 个答案:

答案 0 :(得分:0)

通过 WebSocket 流式传输音频缓冲区,然后尝试使用 <audio> 元素播放它不是可行的方法。

以低延迟将音频流式传输到浏览器的方法是使用 WebRTC

WebRTC 内置于浏览器中,可实现点对点实时通信。

也就是说,您可以使用 C++ 中的某些 WebRTC 实现(如 libwebrtcGstreamer)来流式传输您的麦克风输入,然后使用浏览器上的本机 JavaScript API 来接收音频流并将其放置在 srcObject 元素的 <audio> 属性中以在浏览器中侦听。

相关问题