VMOS Cloud API
  • 简体中文
  • English
  • 简体中文
  • English
  • 产品介绍
  • 产品类型
  • 产品计费
  • OpenAPI
    • 使用指南
    • 接口文档
    • 错误码
    • 实例属性列表
    • 安卓改机属性列表
    • 回调任务业务类型码
    • 更新日志
  • Android端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 错误码
    • 更新日志
  • Web H5端 SDK
    • 示例搭建
    • 接口说明
    • H5 SDK 回调函数
    • 错误码
    • 更新日志
  • Windows PC端 SDK
    • 示例搭建
    • 接口说明
    • 回调函数
    • 更新日志
  • 端侧与云机通信开发
    • AIDL接入方式
    • 系统服务API(aidl)
  • 类XP、LSP Hook框架
    • 类Xposed、LSPosed框架
    • 传感器数据动态仿真
  • 相关协议

H5 SDK 回调函数

统一状态码说明: code: 0 表示成功,code: -1 表示失败

初始化相关回调

onInit:初始化

功能描述: SDK初始化结果回调。 调用签名:

onInit({ code, msg })

参数说明:

参数类型描述
codeString初始化结果状态码
msgString初始化失败原因
streamTypeNumber推流模式 (2. 默认模式 3. OBS优化模式)

返回码说明:

Code说明
0初始化成功
-1网络波动导致请求失败(可重试连接)
100006请求头信息缺失必要参数:token
100007无效的 token
100008token 验证失败
120001pad 对应的房间不存在
120002连接云机失败,请重试!
120003中止推流错误,指令发送失败
120004中止推流错误,指令服务异常
120005实例不存在
120006token 绑定的 uuid 与请求 uuid 不一致
120007原 token 信息不存在,请检查
120008当前批次实例存在不同的推拉流方式,请联系管理员处理
120009token 绑定的 padCode 与请求 padCode 不一致

连接相关回调

onConnectSuccess:连接成功

功能描述: 调用 start() 接口成功时触发。 调用签名:

onConnectSuccess()

onConnectFail:连接失败

功能描述: 调用 start() 接口失败时触发。 调用签名:

onConnectFail({ code })

参数说明:

参数类型描述
codeNumber错误码,详见错误码说明文档

onConnectionStateChanged:连接状态

功能描述: 连接状态变化回调,start成功后连接状态出现变更时触发。 调用签名:

onConnectionStateChanged(e)

参数说明:

参数类型描述
e.stateNumber连接状态码

状态码说明:

状态码描述
0进行连接前准备,锁定相关资源
1连接断开
2首次连接,正在连接中
3首次连接成功
4连接断开后重新连接中
5连接断开后重连成功
6处于断开状态超过10秒且重连未成功,SDK将继续尝试重连

onSocketCallback:WebSocket状态

功能描述: WebSocket状态信息回调。 调用签名:

onSocketCallback({ code })

参数说明:

参数类型描述
codeNumberWebSocket状态码

状态码说明:

状态码描述
0连接成功
1连接关闭
-1连接失败

媒体相关回调

onRenderedFirstFrame:首帧渲染

功能描述: 视频首帧渲染成功时触发。 调用签名:

onRenderedFirstFrame(event)

参数说明:

参数类型描述
event.widthnumber分辨率高度
event.heightnumber分辨率高度
event.userIdstring用户ID
event.isScreenboolean是否全屏

onChangeResolution:分辨率变化

功能描述: 用于监听分辨率变化,返回旧与新分辨率。 调用签名:

onChangeResolution({ from, to })

参数说明:

参数类型描述
fromObject旧分辨率对象 {width, height}
toObject新分辨率对象 {width, height}

onAutoplayFailed:自动播放失败

功能描述: 自动播放音视频流失败时触发。 调用签名:

onAutoplayFailed(event)

参数说明:

参数类型描述
userIdString自动播放失败的流所属用户ID(不带此参数时表示本地流播放失败)
kindString自动播放失败的媒体类型("video" 或 "audio")
streamIndexNumber视频流属性(0: 主流,1: 屏幕流)
mediaTypeNumber远端媒体流类型(1: audio, 2: video, 3: audio and video)

onChangeRotate:屏幕旋转

功能描述: 横竖屏切换时触发。 调用签名:

onChangeRotate(type, info)

参数说明:

参数类型描述
typeNumber屏幕方向(0: 竖屏, 1: 横屏)
infoObject屏幕尺寸信息 {width, height}

数据采集相关回调

onAudioInit:音频采集

功能描述: 采集音频数据回调,表示开始收取麦克风声音。 调用签名:

onAudioInit(audioTrackSettings)

参数说明:

参数类型描述
audioTrackSettingsObject音频轨道设置,参见 MediaTrackSettings

onAudioError:音频错误

功能描述: 采集音频数据错误回调。 调用签名:

onAudioError(event)

参数说明:

参数类型描述
event.codeString错误码

错误码说明:

错误码描述
REPEAT_CAPTURE重复采集
GET_AUDIO_TRACK_FAILED采集音频失败,请确认是否有可用的采集设备,或是否被其他App占用
STREAM_TYPE_NOT_MATCH流类型不匹配

onVideoInit:视频采集

功能描述: 采集视频数据回调,表示开始收取摄像头画面。 调用签名:

onVideoInit(videoTrackSettings)

参数说明:

参数类型描述
videoTrackSettingsObject视频轨道设置,参见 MediaTrackSettings

onVideoError:视频错误

功能描述: 采集视频数据错误回调。 调用签名:

onVideoError(event)

参数说明:

参数类型描述
event.codeString错误码

错误码说明:

错误码描述
REPEAT_CAPTURE重复采集
GET_AUDIO_TRACK_FAILED采集音频失败,请确认是否有可用的采集设备,或是否被其他App占用
STREAM_TYPE_NOT_MATCH流类型不匹配

状态监控回调

onErrorMessage:播放异常

功能描述: 当播放出现异常时触发。 调用签名:

onErrorMessage({ code })

参数说明:

参数类型描述
codeNumber错误类型(0: RTC通道中断, 1: 获取统计信息时出错)

onRunInformation:运行信息

功能描述: 回调当前运行信息,每2秒统计一次。 调用签名:

onRunInformation(stats)

参数说明:

参数类型描述
statsObject远端媒体流统计信息
stats.userIdString进房用户的userId
stats.audioStatsObject远端音频流信息
stats.videoStatsObject远端视频流信息

audioStats参数说明:

参数名称类型描述
audioLossRateNumber音频丢包率(范围:[0, 1])
receivedKBitrateNumber接收码率(单位:kbps)
stallCountNumber|undefined统计周期内的卡顿次数
stallDurationNumber|undefined卡顿时长(单位:ms)
totalRttNumber全链路往返时延(单位:ms,FireFox浏览器可能不准确)
statsIntervalNumber统计间隔(单位:ms)
rttNumber往返时延(单位:ms)
jitterBufferDelayNumber抖动延迟(单位:ms)
numChannelsNumber声道数
receivedSampleRateNumber接收采样率
concealedSamplesNumber音频丢包补偿(PLC)样点总数
concealmentEventNumber音频丢包补偿(PLC)累计次数

videoStats参数说明:

参数名称类型描述
widthNumber视频宽度(单位:px)
heightNumber视频高度(单位:px)
videoLossRateNumber视频丢包率(范围:[0, 1])
receivedKBitrateNumber接收码率(单位:kbps)
decoderOutputFrameRateNumber解码器输出帧率(单位:fps)
stallCountNumber|undefined统计周期内的卡顿次数
stallDurationNumber|undefined卡顿时长(单位:ms)
totalRttNumber全链路往返时延(单位:ms,FireFox浏览器可能不准确)
isScreenBoolean是否为屏幕流
statsIntervalNumber统计间隔(单位:ms)
rttNumber往返时延(单位:ms)
codecTypeString视频编码格式("H264"或"VP8")

onNetworkQuality:网络质量

功能描述: 网络质量信息回调,加入房间后每2秒返回一次。 调用签名:

onNetworkQuality(uplinkNetworkQuality, downlinkNetworkQuality)

参数说明:

参数类型描述
uplinkNetworkQualityNumber上行网络质量
downlinkNetworkQualityNumber下行网络质量

网络质量等级:

值说明
0 (UNKNOWN)网络质量未知
1 (EXCELLENT)网络质量极好
2 (GOOD)网络质量良好(与EXCELLENT主观感受相近,但码率可能略低)
3 (POOR)轻微卡顿,但基本不影响沟通
4 (BAD)通信不流畅,建议降低采样率或切换为纯语音模式
5 (VBAD)网络极差,基本无法沟通,建议提示用户网络较弱
6 (DOWN)网络连接断开,无法通话

onProgress:加载进度

功能描述: 加载进度相关回调。 调用签名:

onProgress({ code, msg })

参数说明:

代码说明
WS_CONNECT (100)WS开始连接
WS_SUCCESS (101)WS连接成功
WS_CLOSE (102)WS连接关闭
WS_ERROR (103)WS连接出错
OWN_JOIN_ROOM (200)收到加入房间信息
RECEIVE_OFFER (201)设置offer信息成功
RECEIVE_OFFER_ERR (202)设置offer信息失败
SEND_ANSWER (203)发送answer信息
SEND_ANSWER_ERR (204)发送answer信息失败
RECEIVE_ICE (205)添加ICE信息成功
RECEIVE_ICE_ERR (206)添加ICE信息失败
SEND_ICE (207)发送ICE信息
RTC_CONNECTING (300)RTC正在连接
RTC_CONNECTED (301)RTC连接成功
RTC_DISCONNECTED (302)RTC断开连接
RTC_CLOSE (303)RTC连接关闭
RTC_FAILED (304)RTC连接失败
RTC_TRACK_VIDEO (305)RTC接收VIDEO流
RTC_TRACK_VIDEO_LOAD (306)RTC接收VIDEO流后在VIDEO中加载成功
RTC_CHANNEL_OPEN (307)RTC消息通道连接成功
RTC_CHANNEL_ERR (308)RTC消息通道连接失败
VIDEO_FIRST_FRAME (309)VIDEO加载成功当未收到云机的UI信息
VIDEO_FIRST_FRAME (310)VIDEO第一帧渲染成功

用户交互回调

onUserLeaveOrJoin:用户进退房

功能描述: 用户加入或离开房间时触发。 调用签名:

onUserLeaveOrJoin({ type, userInfo })

参数说明:

参数类型描述
typeString事件类型(join: 加入房间, leave: 离开房间)
userInfoObject用户信息 {userId, extraInfo}

onUserLeave:用户退出

功能描述: 远端用户退出房间时触发。 调用签名:

onUserLeave(event)

参数说明:

参数类型描述
userIdString离开房间的用户ID
reasonNumber离开原因

离开原因说明:

值说明
0 (QUIT)主动退出(调用leaveRoom)
1 (DROPPED)掉线(如token过期、网络问题)
2 (SWITCH_TO_INVISIBLE)切换为不可见(调用setUserVisibility)
3 (KICKED_BY_ADMIN)被管理员踢出

onUserJoined:用户加入

功能描述: 远端用户加入房间时触发。 调用签名:

onUserJoined({ userInfo })

参数说明:

参数类型描述
userInfo.userIdString加入房间的用户ID
userInfo.extraInfoString其它信息

onAutoRecoveryTime:无操作超时

功能描述: 无操作时间到期时触发。 调用签名:

onAutoRecoveryTime()

onMonitorOperation:操作信息

功能描述: 开启监控操作回调的信息信息 调用签名:

onMonitorOperation(event)

参数说明:

参数类型描述
event.actionTimenumber按键时间
event.actionTypenumber操作类型(如按下、抬起)
event.keyCodenumber物理按键编号
event.simulateHeightnumber屏幕高度
event.simulateWidthnumber屏幕宽度
event.swipenumber滚动距离(-1 表示上划,1 表示下划)
event.touchTypestring按键类型
event.xnumber屏幕点击的 X 坐标
event.ynumber屏幕点击的 Y 坐标

功能特性回调

onTransparentMsg:透传消息

功能描述: 收到云端app透传消息时触发。 调用签名:

onTransparentMsg(type, msg)

参数说明:

参数类型描述
typeString保留字段(当前默认填0)
msgString消息内容(字符串)

onOutputClipper:内容复制

功能描述: 在云机复制内容时触发。 调用签名:

onOutputClipper(data)

参数说明:

参数类型描述
data.contentString复制的内容

onAdbOutput:ADB命令结果

功能描述: 执行ADB命令后返回结果。 调用签名:

onAdbOutput(event)

参数说明:

参数类型描述
isSuccessBoolean是否成功
contentString成功后的返回结果

onInjectVideoResult:视频注入结果

功能描述: 视频注入摄像头的开始或停止操作结果回调。 调用签名:

onInjectVideoResult(type, data)

参数说明:

参数类型描述
typeString回调类型(startVideoInjection或stopVideoInjection)
data.isSuccessBoolean操作是否成功
data.contentString操作失败原因

onMediaDevicesToggle:云机内打开或关闭(摄像头/麦克风)

功能描述: 云机打开或关闭(摄像头/麦克风)回调。 调用签名:

onMediaDevicesToggle(stats)

参数说明:

参数类型描述
stats.typeStringmedia:摄像头和麦克风,camera:摄像头 ,microphone:麦克风
stats.enabledBoolean是否打开
stats.isFrontBoolean是否前置,注:类型media和camera才有该属性

错误处理回调

onGroupControlError:群控错误

功能描述: 群控相关错误回调。 调用签名:

onGroupControlError({ code, msg })

参数说明:

参数类型描述
codeString错误码
msgString错误信息

错误码说明:

错误码描述
TOKEN_ERR获取token接口失败
INVALID_TOKENtoken无效或已过期
JOIN_ROOM_FAILED进房失败
REPEAT_JOIN重复进房
ROOM_FORBIDDEN房间被封禁
USER_FORBIDDEN用户被封禁

onSendUserError:指令发送错误

功能描述: 发送远端指令时出现异常。 调用签名:

onSendUserError(error)

参数说明:

参数类型描述
error.codeString错误码

错误码说明:

错误码描述
USER_MESSAGE_TIMEOUT发送消息超时
USER_MESSAGE_BROKEN通道断开,发送失败
USER_MESSAGE_NO_RECEIVER未找到接收者
USER_MESSAGE_NOT_JOIN发送方未加入房间
USER_MESSAGE_UNKNOWN未知错误
Prev
接口说明
Next
错误码