Android
Last updated
Was this helpful?
Last updated
Was this helpful?
本集成文档适用于Android ARCall SDK 3.0.0+版本。
Android Studio 2.1或以上版本
Android 版本不低于 4.0.3 且支持音视频的 Android 设备(不支持模拟器)
Android 设备已经连接到有效网络
Gradle方式导入
添加Jcenter仓库 Gradle依赖:
或者 Maven
集成SDK后,还需对SDK进行初始化操作,建议在Application中完成。
示例代码:
自定义的Application需在AndroidManifest.xml注册
示例代码:
示例代码:
建议写成单例模式,具体参照demo
示例代码:
上线成功会回调onConnected(),失败会回调onDisconnect(),程序启动只需调用一次即可
示例代码:
ARVideoView 对象是显示视频,调整视频窗口摆放位置的类,可由开发者自定义,具体可参照Demo
示例代码:
注意安卓动态权限处理,这里需要录音和摄像头权限
示例代码:
返回值为1时呼叫成功,被呼叫人会收到onRTCMakeCall()回调
示例代码:
对方将收到onRTCEndCall()回调
示例代码:
对方将收到onRTCRejectCall()回调
示例代码:
接受呼叫后,双方呼叫通道开启,将回调onRTCOpenRemoteVideoRender()方法,在该回调中设置显示对方视频,参考 2.1
示例代码:
对方同意通话后会回调onRTCOpenRemoteVideoRender()方法,在该回调中应显示对方视频,参照上述代码,具体可查看demo
示例代码:
对方挂断通话后会回调onRTCCloseRemoteVideoRender()方法,在该回调中应移除对方视频,参照上述代码,具体可查看demo
示例代码:
下线后将收不到任何呼叫
示例代码:
如果不希望程序在退出后,还受到呼叫请求,则彻底释放对象并下线
使用ARCall SDK需以下权限
在Proguard混淆文件中增加以下配置:
定义
参数
参数名
类型
描述
context
Context
上下文对象
appId
String
appId
token
String
token
说明
定义
参数
参数名
类型
描述
address
String
私有云服务地址
port
int
私有云服务端口
说明
配置私有云信息,当使用私有云时才需要进行配置,默认无需配置。
定义
返回值
SDK版本号
定义
定义
定义
参数
参数名
类型
描述
logLevel
ARLogLevel
日志显示级别
定义
定义
参数
参数名
类型
描述
isDefaultFrontCamera
boolean
是否默认前置摄像头 true 前置 false 后置 默认true
videoOrientation
ARVideoOrientation
视频方向 默认竖直
videoProfile
ARVideoProfile
视频分辨率 默认360x640
videoFps
ARVideoFrameRate
视频帧率 默认15帧
说明
可通过上面方法配置,也可单独设置
定义
参数
参数名
类型
描述
arCallEvent
ARCallEvent
回调实现类
说明
也有无参构造方法,在实例化之后必须设置调用 setArCallEvent(ARCallEvent arCallEvent) 方法设置回调
定义
参数
参数名
类型
描述
userToken
String
token字符串:客户端向自己服务器申请
说明
设置token验证必须放上线之前
定义
参数
参数名
类型
描述
userId
String
用户的userid(必填)
userData
String
用户自定义数据
返回值
ture/false 上线成功/上线失败
定义
定义
参数
参数名
类型
描述
userId
String
用户的userid(必填)
option
ARUserOption
呼叫个人配置类
返回值
-5/-4/-3/-2/-1/0/1:userId为空字符串/正在通话中,呼叫失败/MemberList为空/不能自己呼叫自己/操作频繁/呼叫失败(没有RECORD_AUDIO权限)/呼叫成功
定义
参数
参数名
类型
描述
groupId
String
群组呼叫的会议id(必填)
groupOption
ARGroupOption
呼叫群组配置类
返回值
-5/-4/-3/-2/-1/0/1:userId为空字符串/正在通话中,呼叫失败/MemberList为空/不能自己呼叫自己/操作频繁/呼叫失败(没有RECORD_AUDIO权限)/呼叫成功
定义
参数
参数名
类型
描述
queueId
String
呼叫坐席的频道id(必填)
arQueueOption
ARQueueOption
呼叫坐席配置类
返回值
-5/-4/-3/-2/-1/0/1:userId为空字符串/正在通话中,呼叫失败/MemberList为空/不能自己呼叫自己/操作频繁/呼叫失败(没有RECORD_AUDIO权限)/呼叫成功
说明
ARQueueOption类参数说明
参数名
类型
描述
callMode
ARCallMode
呼叫模式(该模式呼叫只能用call_cit_audio , call_cit_video 两种)
level
int
优先级:0等级最大,值越大,等级越小
area
String
服务地区
business
String
服务范围
定义
参数
参数名
类型
描述
userId
String
用户的userid(必填)
返回值
0/1:失败(没有RECORD_AUDIO权限)/成功
说明
用于群组呼叫中
定义
参数
参数名
类型
描述
userId
String
用户的userid(必填)
定义
参数
参数名
类型
描述
userId
String
用户的userid(必填)
返回值
0/1:失败(没有RECORD_AUDIO权限)/成功
定义
参数
参数名
类型
描述
userId
String
用户的userid(必填)
定义
参数
参数名
类型
描述
mode
ARMeetZoomMode
Zoom下的几个模式(必填)
定义
参数
参数名
类型
描述
nPages
int
当前视频分页页数(必填,从0开始)
定义
参数
参数名
类型
描述
nIdx
int
当前视频分页页数(必填,从0开始)
showNum
int
当前页显示视频个数(必填)
定义
定义
定义
参数
参数名
类型
描述
render
long
底层视频渲染对象
返回值
0/1/2/3:没有相机权限/打开成功/打开相机失败/相机已打开, 未释放
定义
参数
参数名
类型
描述
render
long
底层视频渲染对象
返回值
0/1/2/3:没有相机权限/打开成功/打开相机失败/相机已打开, 未释放
定义
参数
参数名
类型
描述
peerId
String
RTC服务生成的用户标识Id
render
long
SDK底层视频显示对象
说明
该方法用于视频呼叫接通后,回调(OnRTCOpenRemoteVideoRender)使用
定义
参数
参数名
类型
描述
userId
String
用户id,不能为空,否则发送失败;
content
String
消息内容(最大1024字节)不能为空,否则发送失败;
定义
参数
参数名
类型
描述
enable
boolean
打开或关闭本地音频传输
说明
true为传输音频,false为不传输音频,默认传输
定义
参数
参数名
类型
描述
enable
boolean
打开或关闭本地视频传输
说明
true为传输视频,false为不传输视频,默认视频传输
定义
定义
参数
参数名
类型
描述
fileName
String
文件名
说明
抓拍视频一帧作为图片,需注意安卓动态权限处理
定义
参数
参数名
类型
描述
fileName
String
录像保存文件的全路径
说明
录取一段视频,需注意安卓动态权限处理
定义
定义
定义
定义
参数
参数名
类型
描述
enable
boolean
是否开启
定义
参数
参数名
类型
描述
enable
boolean
是否可用
定义
参数
参数名
类型
描述
channelId
String
频道ID
arClertOption
ARClertOption
坐席配置类
说明
ARClertOption类参数说明
参数名
类型
描述
level
int
优先级:0等级最大,值越大,等级越小
area
String
服务地区
business
String
服务范围
定义
定义
定义
参数
参数名
类型
描述
code
int
响应码
定义
参数
参数名
类型
描述
meetId
String
房间号
说明
只有打开VIP或呼叫类型是AR_Call_Meet_Invite的时候才有回调,roomId参数仅供录像时使用。
定义
参数
参数名
类型
描述
userId
String
呼叫的用户ID
callMode
ARCallMode
呼叫模式
userData
String
呼叫用户自定义数据
extend
String
呼叫自定义数据
定义
参数
参数名
类型
描述
userId
String
被呼叫用户的id
定义
参数
参数名
类型
描述
userId
String
被呼叫用户的id
code
int
状态码
定义
参数
参数名
类型
描述
userId
String
被呼叫用户的id
code
int
状态码
定义
参数
参数名
类型
描述
bPstn
Boolean
是否支持手机呼叫
bExtension
Boolean
是否支持座机分机呼叫
bNull
Boolean
拓展使用,暂时无用
定义
定义
参数
参数名
类型
描述
userId
String
对方Id
message
String
消息内容
定义
参数
参数名
类型
描述
userId
String
RTC服务生成的用户标识Id
vidRenderId
String
RTC服务生成的视频通道Id
userData
String
用户的自定义数据
说明
开发者需调用设置其他与会者视频窗口(setRemoteVideoRender)方法。
定义
参数
参数名
类型
描述
userId
String
RTC服务生成的用户标识Id
vidRenderId
String
RTC服务生成的视频通道Id
说明
主叫与被叫的挂断后将会回调此方法。此时应将视频窗口移除
定义
参数
参数名
类型
描述
userId
String
RTC服务生成的用户标识Id
userData
String
用户的自定义数据
说明
对方同意后,音频通道建立成功回调此方法。
定义
参数
参数名
类型
描述
userId
String
RTC服务生成的用户标识Id
说明
主叫与被叫的挂断后音频通道断开,将会回调此方法。
定义
参数
参数名
类型
描述
userId
String
RTC服务生成的用户标识Id
level
int
声音音量
time
int
监测时间监测(单位:毫秒)
说明
打开音频实时监测的情况下,回调该方法
定义
参数
参数名
类型
描述
level
int
声音音量
time
int
监测时间监测(单位:毫秒)
说明
打开音频实时监测的情况下,回调该方法
定义
参数
参数名
类型
描述
userId
String
RTC服务生成的用户标识Id
netSpeed
int
当前PeerUserId的网络带宽
packetLost
int
当前PeerUserId的丢包率
netQuality
ARNetQuality
当前PeerUserId的丢包率
说明
打开实时网络监测开关后,回调此方法。
定义
参数
参数名
类型
描述
netSpeed
int
当前PeerUserId的网络带宽
packetLost
int
当前PeerUserId的丢包率
netQuality
ARNetQuality
当前PeerUserId的丢包率
说明
打开实时网络监测开关后,回调此方法。
定义
参数
参数名
类型
描述
zoomMode
ARMeetZoomMode
当前的Zoom模式
allPages
int
Zoom模式视频的分页总页数
curPage
int
Zoom模式视频的当前页数
allRender
int
Zoom模式视频的当前页的视频总数
scrnBeginIdx
int
Zoom模式视频的当前页的视频个数索引
num
int
Zoom模式视频的总数目
说明
主叫与被叫的挂断后将会回调此方法。此时应将视频窗口移除
定义
参数
参数名
类型
描述
userId
String
用户标识Id
vidRenderId
String
RTC服务生成的视频通道Id
userData
String
用户的自定义数据
说明
群组呼叫模式下, 用户进入群组呼叫回调此方法。
定义
参数
参数名
类型
描述
userId
String
用户标识Id
vidRenderId
String
RTC服务生成的视频通道Id
说明
群组呼叫模式下,用户的离开时回调此方法。
定义
参数
参数名
类型
描述
nQueueNum
int
当前排队人数
说明
坐席呼叫模式下,回调此方法。
定义
参数
参数名
类型
描述
nQueueNum
int
排队人数
nAllClerk
int
总坐席数
nWorkingClerk
int
正在工作中座席数
说明
坐席呼叫模式下,回调此方法。。
定义
参数
参数名
类型
描述
peerId
String
RTC服务生成,用来标识用户的Id
bAudio
boolean
音频打开或关闭
bVideo
boolean
视频打开或关闭
v 3.1.0
增加onRTCJoinRoomOk回调
去除onRTCMakeCall回调中第一个MeetId参数
turnOn方法增加userData参数
ARUserOption等配置类中去除userData参数
全新发布,替代老的P2P SDK,功能升级,全面优化
调用 initEngine() 方法配置开发者信息,开发者信息可在anyRTC管理后台中获得,详见
该方法为配置开发者信息,上述参数均可在 应用管理中获得;建议在Application调用。