研:h5 实时采集音频,实现实时语音通话

本文讨论了在H5环境下实现实时语音通话的需求。主要关注点在于如何实时传输音频数据,研究了MediaRecorder和getUserMedia接口的可能性,但发现webrtc和websocket在特定条件下不可用。提出了多线程模拟方案,但由于JavaScript本身的限制,实现复杂。还探讨了通过websocket发送音频数据到本地端口再由C++处理的设想,但未能找到可行解决方案。最后,提到了可能的单线程定时发送音频数据的次优方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求:

希望采集到pcm数据,8k采样率,16位单声道的数据

https://zhidao.baidu.com/question/574806420.html

垃圾,,,采样率这些目前都不是核心问题,问题是先能实时传下去。这些都是要有接口的情况下,通过一个参数进行设置的。或者就寻求现成的。

 

需求分析:

1.实时是个问题,是否有api能满足,如果不能,

 

是否可以使用websocket发到本地端口?

目前的demo用的:

mediaRecorder()录音(采集音频)

getuserMedia() 获取数据()

可能是可以的,,,研究几个接口,或者用多线程来解决。

 

web 实时语音可能的技术:

webrtc 不可用

websocket 不可用

那你还让用啥实现???????????????????????????????????

结论:不支持,无法做到。

答复,有可用的接口,但条件限制用不了。木有办法,别怪我。

 

 

 

死马解决思路(方案):

相当于一边录音一边发,两个线程进行

那至少需要3个线程,线程1录音,线程2同时发剪切了的音频数据,线程3监听是否有对方的语音数据,并播放,那么可能会导致说话的声音又被录回去(本质是单线程,可能实际不会),太复杂了。而且这是最简陋版本的考虑。

注意:js本来就不支持多线程的,“多线程只是模拟出来的”

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值