① android 局域网实时语音聊天音频流用什么编
一般如果应用需要进行大量数学运算时,推荐使用JNI在Java中调用C/C++编写的动态库,Java只负责逻辑和界面用户操作的相应,
你这个APP很简单分为以下几个模块
界面,与用户进行交互,需要具备Android界面的编程;
网络传输,需要掌握Java网络socket编程的知识,使用TCP传输编码后的音频帧;
语音编解码模块,由两部分构成。一是c/c++编写的动态库,二是Java声明本地native函数,并将c/c++实现的native函数进行封装,方便Java调用。这部分需要掌握Java中JNI使用的知识,c/c++编程,语音处理的方面的知识,例如数字信号处理。
而c/c++写的库一般不是我们自己实现的,而是引入第三方开源代码,这里的选择有很多,我了解到的有
ffmeg,很常用,就连暴风影音和QQ音乐据说用了他们的开源库,而没有遵守开源协议而进入了他们的黑名单。
speex,是国外的开源库,现已被Opus取代,但是speex多了一个预处理功能,例如降噪、自动增益、回音消除等等。
Superpowered,跨平台的,低延迟,功能多。
补充一点,Android现已支持纯C++的开发了,这个就需要NDK的配合,写出NativeActivity,然后就可以直接在C++中调用第三方的库了,而不用JNI这样繁琐,但是由于刚出来,教程不多,需要具备很多嵌入式、音视频采集处理的开发经验。
② 有人用SIP做过android客户端的多人语音通话吗
我在这里先给出我了解到的资料。 相关技术:
1.sip 2.nat穿越 3.语音编解码 4.语音传输(rtp)
以上四个技术点其实就是sip电话里面的四个模块,sip负责会话创建、维护、中断等;nat穿越就是传说中的p2p打洞,需要stun服务器配合。将语音数据按照某种格式编码,交给传输层传输,传输通常是基于udp的rtp流。
相关协议:
1.sip 2.sdp 3.stun、turn、ice 4.rtp
sip,Session Initiation Protocol,会话初始协议是一个协议栈,集合了注册,呼叫,接听,挂断等相关协议;sdp是会话描述协议,我的理解TA是让两个通讯方指定通讯规则,比如用何种协议传输,音频是何种格式等等,stun、turn、ice是nat穿越使用的,stun采用p2p打洞,turn采用的是转发,ice只是考虑当前环境适合何种方案,然后选择相应解决办法。rtp是实时传输协议,TA其实包括rtp和rtcp两个协议,负责将语音数据的传输。
③ android 开发怎么实现语音通话
android开放实现语音通话最快的方式直接用现成SDK,推荐zego实时语音通话sdk.
以 2 人间的实时语音为例,主要流程如下:
④ android 局域网对讲机怎么用
本对讲机集实时语音对讲、文字、表情和文件传输与一身。使用IP广播机制,实现同一局域网段内的语音广播。使用本对讲机,只使用本地wifi即可以实现办公室内的语音会议,不用打电话,无需话费和流量。适合办公室通讯、学校寝室间沟通等。
⑤ android上如何实时语音聊天
android开放实现语音通话最快的方式直接用现成SDK,可以试试ZEGO即构科技的实时语音SDK,实现流程也比较便捷,通过四行代码,三十分钟就可以搭建聊天场景了