您的位置:首页 > 移动开发

使用环信SDK开发免费语音通话app原型测试成功

2016-05-28 16:59 369 查看

软件效果

两个安卓手机可以语音通话,且通话质量相当清晰(移动4M光纤产生的WIFI网络环境)。界面简陋,仅作为功能测试。

应用截图

安卓版下载

源代码下载[Eclipse+ADT23+SDK4.0.3]

开发环境

Eclipse

ADT 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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: