微信小程序> 研h5实时采集音频实现实时语音通话-h5获取实时音频流-小程序音视频

研h5实时采集音频实现实时语音通话-h5获取实时音频流-小程序音视频

浏览量:2045 时间: 来源:nedwons

1.需求:

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

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

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

4.需求分析:

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

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

7.目前的demo用的:

8.mediaRecorder()录音(采集音频)

9.getuserMedia()获取数据()

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

11.web实时语音可能的技术:

12.webrtc不可用

13.websocket不可用

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

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

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

17.死马解决思路(方案):

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

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

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

21.方案一:

22.MediaRecorder()+MediaDevices.getUserMedia()+AudioContext()

23.+多线程?

24.JavaScript多线程初步学习

25.Concurrent.Thread.js

26.webworker用不了

27.gears.jshttp://en.verysource.com/code/708855_1/gears.js.html

28.先研究几个接口。

29.MediaRecorder:录音用的,在start和stop之间就要切分无数小份音频,如何做到?而他们是连招,录停无数次。问题预测,那边来的语音用什么播放???????????????????????????????????????????????????

30.getUserMedia:获取数据流

31.AudioContext:播放音频等,替代audio标签的存在

32.方案二:

33.使用websocket发送到本地固定端口,再通过apic++实时读取数据并给so?或者直接让so读某端口数据?

34.凉,,,,,

35.2.实时的原理是什么,是否可以自己扩展一个,

36.就是不断(可能间隔1ms)地将采集到的数据不断发走,直达你给信号停止录音并停发。

37.参考:https://blog.csdn.net/hunter___/article/details/87710736

38.3.若不能,次一点的方案给对方。

39.什么思路?是否有接口?

40.单线程。

41.浏览器定时器线程和事件触发线程。

42.参考

43.web音频流转发之AudioNodeweb音频流转发之音频源

44.android:

45.Android音视频开发(二):使用AudioRecord采集音频PCM并保存到文件

46.https://www.jianshu.com/p/125b94af7c08

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎