使用环信SDK开发免费语音通话app原型测试成功
2016-05-28 16:59
369 查看
软件效果
两个安卓手机可以语音通话,且通话质量相当清晰(移动4M光纤产生的WIFI网络环境)。界面简陋,仅作为功能测试。应用截图
安卓版下载
源代码下载[Eclipse+ADT23+SDK4.0.3]
开发环境
EclipseADT 23
Android SDK 4.0.3
想法来源
QQ功能中的语音电话用起来比较复杂冗余,无法指望腾讯出个简化版界面,便想自己做一个出来。试用
这算是0.1版吧,目前有两个帐号可供测试:jack和rose(不保证帐号长期有效)。若帐号失效,可去环信官网注册开发者后,新增测试用户,然后更改项目代码中的app key和测试用户即可。将应用安装到2个安卓真机(仅测试了4.0及以上真机)中,可实现清晰语音通话。
手机甲先输入用户名jack,点击登录,jack上线。手机乙输入用户名rose,点击登录,rose上线。
手机甲输入被呼叫人rose,点击呼叫,手机乙点击answer,二者就可以通话,然后任意一方点击挂断,就挂断了。
实现过程
最开始的想用以前研究过的Linphone和PJSIP,可是转念一想:没有必要搞这么复杂啊,我是要做成品出来,不是搞语音通讯研究,直接找个第三方SDK不就得了。后来找到腾讯云通讯、网易云信、环信,最后选了环信,官网资料丰富,社区也活跃。环信的即时通信云,比较厉害。它的SDK既可以发送文字、图片、语音、短视频消息,还有我最需要的两个即时通信功能:语音通话和视频通话,最关键的是这还是免费的!(日活30万以下永久免费)要知道有很多其他云通信厂家可都是直接收费的啊。
环信官网上有各终端的SDK和Demo,虽然是Demo,但是做的像个简化版的微信。Demo做的有些复杂了,我断断续续搞了三个星期(一边学安卓),才把语音通话的代码剥离出来。
遇到的问题
开始因为使用的是同事给的开发环境,ADT版本比较低,好像是13,运行删减过后的Demo,总是直出现 android-support-v4 的严重错误,后来将ADT和android SDK升级为高版本后,就没有该问题了。小提示:ADT和SDK均建议联网更新,使用国内东软镜像网站,这里有说明。不行下载蓝灯代理翻墙。
项目及代码结构分析
环信SDK Demo中的语音通话的流程分析有时间加上这部分内容。源代码下载的话,本文【软件效果】小结里有链接。源代码里有些废弃的代码,我没有删除,源码大多来自于环信官方Demo。最后提示下,官方的安卓Demo里面的代码是没有更新到3.0的,很多的
EMChatManager.getInstance()都要改成
EMClient.getInstance().callManager()才对。
目前在搞有登录、注册、联系人界面的版本r02,但是联系人只能保存到本地。
再下一个版本r03,再去申请服务器,把用户联系人保存到云上。
因为自身原因,r02有但未上传,以后文章和程序也不再继续更新。代码可研究环信官方DEMO。
相关文章推荐
- Android Template(模板) 编写(二)
- Android中的图片加载
- mappingResources,annotatedClasses(映射)
- Advice for Applying Machine Learning(Andrew ng ML)
- 【转】Unity协程(Coroutine)原理深入剖析
- Android Studio 简单设置
- Android Studio新建shape等xml文件
- Android的资源自适应与国际化
- iOS searchbar textfield placeholder color
- android framebuffer adb pull
- Android菜单详解(五)——使用XML生成菜单
- viewDidLoad, viewWillDisappear, viewWillAppear等区别及各自的加载顺序
- android 设计模式之单例模式详解
- Android菜单详解(四)——使用上下文菜单ContextMenu
- Android菜单详解(三)——SubMenu和IconMenu
- Android菜单详解(二)——创建并响应选项菜单
- ContextLoaderListener自动装配ApplicationContext的配置信息
- Android开发---摇一摇功能
- AS:Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
- Android菜单详解(一)——理解android中的Menu