Android技术分享| 安卓3行代码,实现整套音视频通话功能


介绍

音视频相关内容对于很多开发者来说,平时接触的比较少。虽然市面上做音视频服务的厂家很多,SDK 大都相对成熟,API 也大同小异,但集成起来总归是需要花费大量时间了解,调试。所以,有没有几行代码就能实现相关功能,不需要关心 SDK 其他配置的解决方案。答案是有~

?今天给大家带来的就是针对 呼叫,点对点/多人音视频场景下的组件封装。该组件有如下特点

  • lib形式集成后,仅需3行代码即可实现音视频通话
  • 无需关心任何权限处理
  • 无需编写界面代码
  • 核心封装类很少,简单易懂
  • 完全开源,自己可修改扩展

本组件基于音视频服务提供商 anyRTC 的以下 SDK

使用

ARUILogin.init(this,"eexxxxxxxxxx")
ARUILogin.login(this,ARCallUser("userId"))
ARUICallingImpl.getInstance(this).call(ARCallUser("userId"),ARUICalling.Type.VIDEO)

over,仅3行代码即可实现音视频呼叫。通话中的异常、开始通话、结束通话等事件都会以接口的方式回调出去~

组件内功能列表

  • 音频呼叫
  • 视频呼叫
  • 多人音频呼叫
  • 多人视频呼叫
  • 视频转语音通话
  • 本地通知
  • 通话时间
  • 大小视频切换
  • ...

界面展示

P2P通话展示

群组通话展示

API 说明

登录类(ARUILogin)

  1. 初始化组件
fun init(context: Context,appId:String)
  1. 反初始化组件
fun unInit()
  1. 登录
fun login(arCallUser: ARCallUser, callback: ResultCallback)
  1. 退出登录
fun logout()

音视频呼叫类(ARUICallingImpl

  1. 呼叫
fun call(user:ARCallUser,type:Type) //呼叫个人

fun call(users:Array,type:Type)//呼叫群组
  1. 设置回调
fun setCallingListener(listener: ARUICallingListener)
  1. 设置铃声路径
fun setCallingBell(filePath: String)
  1. 设置静音模式
fun enableMuteMode(enable: Boolean)
  1. 设置自定义View路由
fun enableCustomViewRoute(enable: Boolean)

项目源码、体验地址

??GO

在这里插入图片描述