• 现在很多第三方开发平台封装了一些强大的功能,比如消息推送,第三方分享,短信验证码,以及IM即时通讯,语音聊天,视频聊天等功能。
  • 今天就和大家分享一下如何利用第三方开放平台实现网络电话的功能,也就是语音聊天。
  • 这里是基于云之讯开放平台来实现的。
  • 之前很多人都跟我说过,这些使用第三方开放平台来实现的功能,代码写起来都非常的简单。不过我现在明白了,这里说的简单,是相对完全是自己去开发而言的。如果就使用云之讯的开放平台去实现语音聊天这个功能而言,个人认为还是有些复杂度的。
  • 而且,使用第三方开发平台提供的sdk与使用开源项目如github上面的框架而言,我感觉最大的不同就是,你不知道这些方法是怎么实现的,你也不知道需要传递哪些参数。你更不知道,除了官网提供的Demo,还有没有其他的实现方式。当然,这些方法的调用,参数的传递,是会有一个开发文档提供的,但是对于arg0,arg1这样的东西想必你也不喜欢吧。
  • 不过没有办法,这些强大的功能,确实需要更高深的技术去实现,我们想用这些功能而自己又不知道怎么实现的时候,只能借助这些第三方开放平台。
  • OK,废话就讲这些了,下面是语音聊天的代码介绍:
    • 这个Demo也是基于云之讯官网提高的测试Demo来的,不过,只实现了语音聊天的功能,没有IM的功能,官网的Demo里面的功能比较全面。
    • 这个Demo,如果你去读了云之讯的测试Demo,你会发现,里面的回调,广播,一大堆,搞来搞去的,很让人头晕。我的这个Demo也是的,因为我就是想实现一下这个语音聊天的功能,并没有对它的代码做深度的优化。
  • 其实代码没有什么说的,因为代码的整个逻辑流程,已经在上一篇中比较详细的解释过了。这里就粗略的介绍一下。
      1. 首先,你要想进行语音聊天,必须先登录帐号,登录成功才有后续的事情

        • 1.这里要说明一下,其实使用云之讯的这个语音的功能,里面的登录其实是有两次登录。第一次,是主帐号的登录。也就是你的开发者帐号。第二次登录,才是你的客户端帐号的登录,只有客户端登录完成才可以进行语音聊天。
      1. 在客户端帐号登录成功之后,然后就可以进行语音通话了。

        • 1.它这里进行语音通话,又有好几个可选项,可以是单纯的网络电话,也可以是直拨电话,回拨电话。关于这些概念我就不解释了,相信度娘的解释会更清晰。
        • 2.进行语音通话,其实是有两种可能的,一种是你发起,打给别人,另一种是别人发起打给你的。
          • 对于别人打给你的,你只有处理好回调里面的逻辑就好了。对应云之讯的sdk而言,你要关注的回调就是onIncomingCall。在这个回调里面,你去开启一个界面显示来电。
          • 对于你自己发起的,你就要主动去调用sdk提高的拨打网络电话的方法了,核心方法就是void com.yzx.api.UCSCall.dial(Context arg0, CallType arg1, String arg2);这个方法没有任何返回值,所以也就不能根据这个方法去判断拨打成功还是失败了,或者什么其他情况。但是它提供了onDialFailed以及onAlerting等方法,可以通过这些知道拨打是否失败,对方有没有收到这里的发起。
  • 其实关于主帐号登录已经子账号登录是否成功也是有相应的回调的,但是相对应语音功能,前面的登录相对简单,就不做介绍了。
  • 关于代码的介绍就这些吧,比较简略。
  • 主要是里面全部是回调和广播,逻辑的处理非常跳跃,不太好介绍。但是大体就是根据一个状态发送一个广播,在接收器里面根据状态去处理对应的事情,如果处理的事情需要通知其他地方,再发一个广播,让需要得到通知的地方再去注册一个广播接收器去接收消息,然后,这里的接收器里面处理完了事情,要不要通知其他地方,如果要,又是这样的处理方式,总体来说,比较跳跃。不过代码还是相对清晰的,虽然跳跃,但是功能OK。
  • 还有一点,我仅仅是实现了这个语音通话的功能。而且这个通话的功能仅限于开发者帐号提供的测试client帐号,没有去实现注册client帐号的功能。
    • 为什么没有去实现呢?

        1. 注册client需要通过云之讯的审核,而不仅仅是注册一个开发者帐号,我没有去提交这个审核。
        1. 他的测试Demo里面没有去做申请client帐号的逻辑,我也就没有去做了。
          OK,介绍也结束了,下面是我的Demo。项目源码,点击下载

网络电话语音通话的android实现相关推荐

  1. 智能会议系统(34)---Android语音通话实现方案及相关技术介绍

    Android语音通话实现方案及相关技术介绍 Android语音通话实现方案及相关技术介绍 语音通话 Step1语音采集和输出 Step2编解码方式 Step3网络传输 Step4去噪声消回音 语音通 ...

  2. Android P2P语音通话实现(思路探讨)

    最近在在研究语音通话的实现,现在把我的实现思路记录在这里.不过,由于初次接触语音通话,所以这是一个简单的思路,也是经过google以及baidu之后的一个学习总结. 我认为一个语音通话系统至少有四个模 ...

  3. Android P2P语音通话实现 【转】http://macleo.iteye.com/blog/1707455

    Android P2P语音通话实现(思路探讨) 博客分类: android android备忘录 1.http://www.cnblogs.com/milospooner/archive/2012/0 ...

  4. Android 平台语音通话及回音消除、噪音消除研究

    一 Android平台语音通讯 正因为Android平台优越的性能.美观的界面,越来越多人使用Android手机,从而在Android平台上的 语音通话越来越多.语音通话大概流程如下:我认为一个语音通 ...

  5. Android 悬浮窗功能实现(微信语音通话悬浮窗效果实现)

    目录 1.基本介绍 2.代码示例 3.实现效果及便捷工具类 4.仿微信语音通话悬浮窗效果实现 4.1 需求分析及效果展示 4.2 实现 5.最后 1.基本介绍 Android 界面绘制都是通过 Win ...

  6. Android手机间语音通话使用webrtc消除回音

    公司的产品智能门铃当与人通话过程中会产生回音,因此想用webrtc的回音消除模块来消除,所以让我写一个android间语音通话的demo来验证webrtc回音消除模块的效果,下面就是我实现这个demo ...

  7. Android语音通话实现方案及相关技术介绍

    Android语音通话实现方案及相关技术介绍 Android语音通话实现方案及相关技术介绍 语音通话 Step1语音采集和输出 Step2编解码方式 Step3网络传输 Step4去噪声消回音 语音通 ...

  8. android studio语音聊天,实现语音通话

    本文介绍如何使用 Agora Unity SDK 快速实现语音通话. 示例项目 Agora 在 GitHub 上提供开源的实时语音通话示例项目 Hello-Unity3D-Agora.在实现相关功能前 ...

  9. Android 平台语音通话及回音消除、噪音消除研究(转)

    一 Android操作系统由来 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平 板电脑,由Google公司和开放手机联盟领导及开发.尚未有统一中文名 ...

最新文章

  1. Effective Java:对于全部对象都通用的方法
  2. explain ref_数据库查询优化:使用explain分析sql语句执行效率
  3. Java连接Mysql数据库警告:Establishing SSL connection without server's identity verification is not recommend
  4. [vue] 你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解
  5. 移动后端支持平台Parse将API由Ruby迁移到Go
  6. LeetCode —— 257. 二叉树的所有路径(Python)
  7. 传感器的特性及性能参数
  8. leetcode 1160 python
  9. 第一章踏上python之旅_仙侠旅人传
  10. MySql之增删改查总结
  11. 三年级计算机第一学期期末试题,三年级上册信息技术期末考试试卷(清华版)
  12. delphi2007不使用msbuild的方法
  13. Linux文件加密方式gzip和bzip
  14. uniapp苹果无法上架_uniapp无法上架IOS包怎么办
  15. ico付费图标下载器 附带易语言源码
  16. 第三方广告平台admob聚合接入过程
  17. IDEA内无法进行复制粘贴
  18. Python安装后目录在哪儿_如何查看Python的安装目录
  19. vim无法退出保存的问题(:wq不生效)
  20. 学校办公用计算机配备情况,学校办公电脑管理制度

热门文章

  1. 有关john所用字典文件
  2. robot-upstart开机自启动
  3. HFSS仿真笔记1《A Low-Profile Ultrawideband Slotted Dipole Antenna Based on Artificial Magnetic Conductor》
  4. define定义一个宏表明1年中有多少秒
  5. 机器人操作系统(ROS)入门
  6. About hardware
  7. centos(1)-什么是centos及相关介绍
  8. javaweb基于ssm招投标管理系统设计与实现.rar(项目源码+数据库文件)
  9. iPhone相关产品型号汇总(iphone/ipad)
  10. 如何用计算机装B,Excel大神常用的五大装逼技能,简直太有用了!