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

回调函数

回调函数是sdk在一些特定场景下触发的接口,根据具体的业务场景来选择是否实现。

回调函数列表

统一状态码:code: 0 成功,-1 失败

onInit

参数:

  • onInit({code, msg})
    • code: 初始化结果(0:成功,-1:失败)
    • msg: 初始化失败原因

说明:
初始化回调。


onConnectSuccess

参数:
无

说明:
调用 start() 接口成功时触发。


onErrorMessage

参数:

  • onErrorMessage({code})
    • code: 错误类型
      • 0: RTC 通道中断
      • 1: 获取统计信息时出错

说明:
当播放出现异常时触发。


onConnectFail

参数:

  • onConnectFail({code})
    • code: 错误码,详见错误码说明文档

说明:
调用 start() 接口失败时触发。


onAutoRecoveryTime

参数:
无

说明:
无操作时间到期时触发。


onAutoplayFailed

参数:

  • onAutoplayFailed(event)
    • userId: 自动播放失败的流所属的用户 ID(不带此参数时表示本地流播放失败)
    • kind: 自动播放失败的媒体类型("video" 或 "audio")
    • streamIndex: 视频流属性
      • 0: 主流(默认摄像头/麦克风采集的视频/音频)
      • 1: 屏幕流(共享视频或音频流)
    • mediaType: 远端媒体流的类型
      • 1: audio
      • 2: video
      • 3: audio and video

说明:
自动播放音视频流失败时触发。


onRunInformation

参数:

  • onRunInformation(stats)
    • stats: 远端媒体流统计信息,统计周期为 2s
      • userId: 进房用户的 userId
      • audioStats: 远端音频流信息
      • videoStats: 远端视频流信息

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
codecType"H264" | "VP8"视频编码格式。
- "H264":H.264 格式
- "VP8":VP8 格式

说明:
回调当前运行信息。


onChangeResolution

参数:

  • onChangeResolution(width, height)
    • width: 当前分辨率宽
    • height: 当前分辨率高

说明:
当分辨率发生变化时触发。


onTransparentMsg

参数:

  • onTransparentMsg(type, msg)
    • type: 保留字段,目前没有用,默认填 0。
    • msg: 消息内容,字符串。

说明:
当收到云端 app 透传的消息时触发。


onOutputClipper

参数:

  • onOutputClipper(msg)
    • msg: 复制的消息内容,字符串。

说明:
当在云机复制内容时触发。


onRenderedFirstFrame

参数:
无

说明:
视频首帧渲染成功时触发。


onAudioError

参数:

  • onAudioError({code, msg})
    • msg: 错误信息
      • API_NOT_AVAILABLE: 当前浏览器不支持麦克风功能

说明:
获取音频相关权限失败。


onAudioInit

参数:

  • onAudioInit({code})

说明:
获取音频权限成功,且会收取麦克风声音。


onAudioPause

参数:

  • onAudioPause({code})

说明:
暂停声音收取成功回调。


onProgress

参数:

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

说明:
加载进度回调。


onSocketCallback

参数:

  • onSocketCallback({code})
    • code:
      • 0: 连接成功
      • 1: 连接关闭
      • -1: 连接失败

说明:
WebSocket 相关回调。


onUserLeaveOrJoin

参数:

  • onUserLeaveOrJoin({type, userInfo})
    • type: join 表示加入房间,leave 表示离开房间
    • userInfo:
      • userId: 用户 ID
      • extraInfo: 额外信息

说明:
用户进房和退房间回调。


onGroupControlError

参数:

  • onGroupControlError({code, msg})
    • code: 错误码
      • TOKEN_ERR: 获取 token 接口失败
      • INVALID_TOKEN: 使用的 token 无效或已过期
      • JOIN_ROOM_FAILED: 进房失败
      • REPEAT_JOIN: 重复进房
      • ROOM_FORBIDDEN: 房间被封禁导致进房失败
      • USER_FORBIDDEN: 用户被封禁导致进房失败
    • msg: 错误信息

说明:
群控错误相关回调。


onSendUserError

参数:

  • onSendUserError(error)
    • 错误码:
      • USER_MESSAGE_TIMEOUT: 发送消息超时
      • USER_MESSAGE_BROKEN: 通道断开,发送失败
      • USER_MESSAGE_NO_RECEIVER: 找不到接收者,请检查传入的 userId 是否正确
      • USER_MESSAGE_NOT_JOIN: 消息发送方没有加入房间
      • USER_MESSAGE_UNKNOWN: 消息未知错误

说明:
给远端发送指令信息出现异常。


onUserLeave

参数:

  • onUserLeave(event)
    • userId: 离开房间的远端用户 ID。
    • reason: 表示用户离开房间的原因。
      • QUIT (0)
        远端用户调用 leaveRoom 主动退出房间。
      • DROPPED (1)
        远端用户因 Token 过期或网络原因等掉线。
      • SWITCH_TO_INVISIBLE (2)
        远端用户调用 setUserVisibility 切换至不可见状态。
      • KICKED_BY_ADMIN (3)
        服务端调用 OpenAPI 将远端用户踢出房间。

说明:
远端用户退出房间回调

onAdbOutput

参数:

  • onAdbOutput(event)
    • isSuccess: 是否执行成功 返回Boolean 值。
    • content: 执行成功后的结果。

说明:
执行ADB命令后结果回调

Prev
接口说明
Next
错误码