Android
Last updated
Was this helpful?
Last updated
Was this helpful?
Android Studio 2.1或以上版本
Android 版本不低于 4.0.3 且支持音视频的 Android 设备(不支持模拟器)
Android 设备已经连接到有效网络
Gradle方式导入
添加Jcenter仓库 Gradle依赖:
或者 Maven
集成SDK后,还需对SDK进行初始化操作,建议在Application中完成。
示例代码:
自定义的Application需在AndroidManifest.xml注册
示例代码:
示例代码:
示例代码:
ARVideoView 对象是显示视频,调整视频窗口摆放位置的类,可由开发者自定义,具体可参照Demo
示例代码:
注意安卓动态权限处理,这里需要录音和摄像头权限
示例代码:
该方法第二个参数为媒体流类型,这以发布视频流为例,发布视频流需先打开本地摄像头采集。发布成功会回调onPublishOK(),发布失败会回调onPublishFailed()
示例代码:
订阅成功会回调onSubscribeOK(),订阅失败会回调onSubscribeFailed(),SDK支持订阅多路流
示例代码:
如果发布的是视频流,订阅成功会回调onSubscribeOK(), 随即回调onRTCOpenRemoteVideoRender() ,在该回调方法中调用上面示例代码,显示对方发布的流,具体参照demo。
如果发布的是音频流,订阅成功会回调onSubscribeOK(), 随即回调onRTCOpenRemoteAudioTrack()
示例代码:
取消发布媒体流后,订阅方会收到onRTCCloseRemoteVideoRender()回调,在该回调中,应移除对方视频,具体参照demo
示例代码:
在离开之前,应将订阅的流全部取消订阅
示例代码:
应在直播页面结束时调用,单例写法时,在程序退出时调用即可。
使用RTCP 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
视频帧率 默认 Fps15
定义
参数
参数名
类型
描述
userId
String
用户ID,确保自己平台唯一,不能为空
userData
String
用户自定义信息
定义
参数
参数名
类型
描述
rtcpEvent
ARRtcpEvent
RTCP相关回调实现类
定义
参数
参数名
类型
描述
render
long
底层视频渲染对象
返回值
0/1/2:没有相机权限/打开相机成功/打开相机失败
定义
参数
参数名
类型
描述
rtcpId
String
RTCP服务生成的通道Id (用于标识通道,每次发布随机生成)
render
long
底层视频渲染对象
说明
该方法用于订阅成功通后,视频即将显示的回调中(onRTCOpenVideoRender)使用
定义
参数
参数名
类型
描述
enable
boolean
打开或关闭本地音频传输
说明
true为传输音频,false为不传输音频,默认传输
定义
参数
参数名
类型
描述
enable
boolean
打开或关闭本地视频传输
说明
true为传输视频,false为不传输视频,默认视频传输
定义
返回值
音频传输与否
定义
返回值
视频传输与否
定义
定义
定义
定义
参数
参数名
类型
描述
enable
boolean
true为打开,alse为关闭
定义
返回值
是否镜像,默认关闭。
定义
参数
参数名
类型
描述
rtcpId
String
流ID
mute
boolean
true禁止,false接收
定义
参数
参数名
类型
描述
rtcpId
String
流ID
mute
boolean
true禁止,false接收
定义
参数
参数名
类型
描述
token
String
令牌:客户端向自己服务申请获得,参考企业级安全指南
mediaType
ARMediaType
发布媒体类型
返回值
发布结果,0/1:发布失败(没有RECORD_AUDIO权限)/发布成功。
定义
定义
参数
参数名
类型
描述
rtcpId
String
订阅视频的频道Id
token
String
令牌:客户端向自己服务申请获得,参考企业级安全指南
定义
参数
参数名
类型
描述
rtcpId
String
媒体频道Id
定义
说明
停止视频采集
定义
参数
参数名
类型
描述
open
boolean
是否开启音频检测
说明
默认音频检测打开
定义
返回值
音频检测打开与否
定义
参数
参数名
类型
描述
enable
boolean
true打开,false关闭
说明
默认视频网络状态关闭
定义
返回值
视频网络状态检测打开与否
定义
定义
定义
参数
参数名
类型
描述
usedARCamera
boolean
true 使用ARCamera,false 不使用ARCamera采集的数据
说明
默认使用ARCamera, 如果设置为false,必须调用setByteBufferFrameCaptured才能本地显示
定义
参数
参数名
类型
描述
data
byte[]
true 使用ARCamera,false 不使用ARCamera采集的数据
width
int
宽
height
int
高
rotation
int
旋转角度
timeStamp
long
时间戳
说明
不使用ARCamera,必须调用setByteBufferFrameCaptured才能本地显示
定义
参数
参数名
类型
描述
capturerObserver
ARCameraCapturerObserver
回调
定义
说明
停止采集,释放SDK
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
liveInfo
String
直播信息
定义
参数
参数名
类型
描述
code
int
失败的code值
reason
String
错误原因
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
liveInfo
String
直播信息
定义
参数
参数名
类型
描述
code
int
失败的code值
reason
String
错误原因
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
code
int
失败的code值
reason
String
错误原因
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
audio
boolean
true 音频打开 false 音频关闭
video
boolean
true 视频打开 false 视频关闭
定义
参数
参数名
类型
描述
level
int
音频检测音量(0~100)
time
int
音频检测在time毫秒内不会再回调该方法(单位:毫秒)
说明
自己本地音频检测
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
level
int
音频检测音量(0~100)
time
int
音频检测在time毫秒内不会再回调该方法(单位:毫秒)
说明
对方关闭音频传输后(setLocalAudioEnable为false),该回调将不再回调对方音频状态;对方关闭音频检测后(setAudioActiveCheck为false),该回调也将不再回调对方音频状态。
定义
参数
参数名
类型
描述
nNetSpeed
int
网络上行
nPacketLost
int
丢包率(1~100)
netQuality
ARNetQuality
网络质量
定义
参数
参数名
类型
描述
rtcpId
String
通道Id
nNetSpeed
int
网络上行
nPacketLost
int
丢包率(1~100)
netQuality
ARNetQuality
网络质量
Version 3.0.0 (2019-05-15)
SDK版本升级3.0,API接口变更
Version 2.0.0 (2017-09-30)
SDK版本升级2.0,梳理、完善SDK
调用 initEngine() 方法配置开发者信息,开发者信息可在anyRTC管理后台中获得,详见
该方法为配置开发者信息,上述参数均可在 应用管理中获得;建议在Application调用。