标签: html audio live
我目前正在使用标准插座从 C++ 传输我的麦克风。现在我想从网上收听这个流。 我曾尝试直接从音频标签访问流,但这不起作用。
我也尝试将内容类型设置为音频/wav,但这也不起作用。
我尝试写入文件并直接从音频元素访问它,但它没有将新的写入部分添加到音频元素。它也从音频的开头开始,我读到它有很高的延迟。
有没有办法以极低的延迟流式传输音频?
我想过每 50 毫秒发出一次 get 请求并将新数据添加到音频或录制 50 毫秒的音频并在最后一个剪辑的结尾更改音频的 src。
答案 0 :(得分:0)
通过 WebSocket 流式传输音频缓冲区,然后尝试使用 <audio> 元素播放它不是可行的方法。
<audio>
以低延迟将音频流式传输到浏览器的方法是使用 WebRTC。
WebRTC 内置于浏览器中,可实现点对点实时通信。
也就是说,您可以使用 C++ 中的某些 WebRTC 实现(如 libwebrtc 或 Gstreamer)来流式传输您的麦克风输入,然后使用浏览器上的本机 JavaScript API 来接收音频流并将其放置在 srcObject 元素的 <audio> 属性中以在浏览器中侦听。
srcObject