主调接口

本文介绍音视频通话 API 在接入 Web 端时涉及到的主调接口。

Connect

建立通话连接。config_param 是一个结构体,里面包含如下字段。

  • 参数

    请求参数

    类型

    是否必填

    说明

    uid

    int

    必填

    用户唯一标识,由客户端透传而来。

    说明

    目前 uid 只支持英文字母、数字、下划线的组合,且长度不超过 128 个字符。

    room_server_url

    String

    必填

    房间服务器地址

    biz_name

    String

    必填

    业务标识

    sub_biz

    String

    必填

    业务标识,mPaaS 下对应的 appId

    sign

    String

    必填

    签名供验证

  • 回调接口异步返回:

    • 连接成功:OnConnectOK()

    • 连接失败:OnConnectFailed(err_code, err_msg)

      回调参数

      类型

      说明

      err_code

      int

      错误码:

      • -101:初始化超时

      • -102:初始化失败

      err_msg

      String

      状态信息

Disconnect

断开连接。调用 Disconnect() 接口,如果正处于通话阶段,会触发关闭发布和订阅的流,并离开房间。即 关闭房间所有流 > 离开房间 > 断开信令连接

  • 参数:无。

  • 回调接口异步返回:连接关闭 OnConnectClose()

InitRoomConfig

初始化房间。

  • 参数

    请求参数

    类型

    说明

    config_param

    {}

    config_param 是一个结构体,里面包含的字段见下表。

    • config_param 参数

      请求参数

      类型

      是否必填

      说明

      auto_publish_subscribe

      int

      必填

      发布订阅模式:

      • 1:自动订阅。

      • 2:自动发布。

      • 3:自动订阅+自动发布。

      • 4:由业务自己操作。

      • 5:自动订阅+当房间中有其他人时自动发布。

      engine

      int

      选填

      引擎类型:

      • 0:ALIPAY,默认值

      • 1:ALIYUN

      • 2:P2P

      third_id

      String

      -

      业务关联 ID,默认为空。

      need_volume_analyser

      boolean

      -

      默认为 false,是否需要实时音量值。

      liveUrl

      String

      选填

      直播地址,使用直播模式时必填。

      publish_type

      int

      选填

      推送模式,使用直播模式时必填。

      • 2:RTC 模式

      • 3:直播模式

      defaultRecord

      boolean

      选填

      服务端是否默认录制,默认为 false。

      recordStrongDepend

      boolean

      -

      是否强依赖录制,默认为 true。若为 true,同时录制启动未成功时,音视频通话也无法连接成功。

      record_third_id

      String

      -

      录制三方的 ID,用于业务方去区分调用批次,在启动成功、失败的回调中返回,非必传。

      recordParam

      JSON

      选填

      具体参数见附录 recordParam

      filePath

      String

      选填

      服务端录制路径,若指定 filePath,则需指定 defaultRecord 为 true。

      enableAudio

      boolean

      非必填

      enableVideo 也同时未填时,都默认为 true。

      enableVideo

      boolean

      非必填

      enableAudio 也同时未填时,都默认为 true。

      enableDataChannel

      boolean

      选填

      是否使用 datachannel,必须在 engine 的值为 2 时才可使用,默认为 false。

      • 若 auto_publish_subscribe=1,需要以下参数。

        请求参数

        类型

        说明

        initSubscribe

        Array

        订阅参数

        subscribe_video_id

        -

        用于展示视频流

        subscribe_audio_id

        -

        用于展示订阅音频流

        subscribe_streamId_id

        -

        label 标签,用于展示 streamId。

        feedId_id

        -

        label 标签,用于展示 feedId。

        代码示例:

        // initSubscribe:Array,订阅参数。
        initSubscribe = [
                   {
                       subscribe_video_id: "video1",
                       subscribe_audio_id: "audio1",
                       subscribe_streamId_id: "streamId",GetRecordInfo
                       feedId_id: "feedId"
                   },{},{}];
      • 若 auto_publish_subscribe 值为 2 时,需要配置以下参数:

        请求参数

        类型

        是否必填

        说明

        media_type

        int

        必填

        音视频类型:

        • 1:音视频

        • 2:纯音频

        • 3:纯视频

        publish_bitrate

        int

        选填

        发布最大码率,默认为 600Kbps。

        publish_device

        int

        必填

        发布类型:

        • 1:摄像头

        • 2:共享桌面

        • 3:发布文件(图片和视频)

        • 4:发布自定义页面区域

        • 5:发布自定义推流

      • 若 auto_publish_subscribe 值为 3 或 5 时,需要配置以下参数:

        请求参数

        类型

        是否必填

        说明

        media_type

        int

        必填

        音视频类型:

        • 1:音视频

        • 2:纯音频

        • 3:纯视频

        publish_bitrate

        int

        选填

        发布最大码率,默认 600Kbps。

        publish_device

        int

        必填

        发布类型:

        • 1:摄像头

        • 2:共享桌面

        • 3:发布文件(图片和视频)

        • 4:发布自定义页面区域

        • 5:发布自定义推流

        initSubscribe

        Array

        -

        订阅初始化需要以下参数:

        • subscribe_video_id:用于展示视频流。

        • subscribe_audio_id:用于展示订阅音频流。

        • feedId_id:label 标签,用于展示feedId。

        • subscribe_streamId_id:label 标签,用于展示 streamId。

        代码示例:

        // initSubscribe:Array,订阅参数
        initSubscribe = [
                   {
                       subscribe_video_id: "video1",
                       subscribe_audio_id: "audio1",
                       subscribe_streamId_id: "subscribe_streamId1",
                       feedId_id: "feedId1"
                   },{},{}];
      • 当 publish_device 值为 1 时,需要配置以下参数:

        请求参数

        类型

        是否必填

        说明

        videoSource

        String

        选填

        摄像头的设备 ID,用于发布指定摄像头。

        audioSource

        String

        选填

        麦克风的设备 ID,用于发布指定麦克风。

        aspectRatioStrongDepend

        boolean

        -

        默认为 false,是否强制指定视频横纵比。

        aspectRatio

        String

        选填

        aspectRatioStrongDepend 值为 true 时必填。

        视频横纵比:

        • 1 表示 4:3

        • 2 表示 16:9

        degradationType

        int

        选填

        流畅度优先或清晰度优先:

        • 1:流畅度优先(默认)

        • 2:清晰度优先

        video_profile_type

        int

        选填

        本地视频清晰度档位:

        • 1:720P,1280x720,16:9

        • 2:VGA,640x480,4:3

        • 3:360P,640x360,16:9

        • 4:720P(竖), 720x1280,9:16

        • 5:360P(竖), 360x640,9:16

        • 6:1080P,1920x1080,16:9

        • 7:1080P(竖), 1080x1920,9:16

        • 8:90P(竖),90x160,9:16

        • 9:540P,960x540,16:9

        • 10:540P(竖),540x960,9:16

        • 100:自定义

        video_profile_diy

        Object

        选填

        自定义视频宽高、帧率、码率。

        当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,传入视频宽高、帧率和码率。格式为:video_profile_diy:{width,height,frameRate,bitrate}

        enableDesktopAudio

        boolean

        选填

        投屏时是否将声音一并投出(仅限共享 tab),为 true 时表示投声音。

        当 publishDevice 的值为 2 时才有效。

        initPublish

        Array

        必填

        发布初始化参数

        publish_video_id

        -

        选填

        用于展示发布的视频流,根据 media_type 选填。

        publish_streamId_id

        -

        -

        label 标签,用于展示 streamId。

        publish_tag

        -

        -

        业务自定义

        代码示例如下:

        // initPublish:Array,必填,发布参数。
        initPublish = [
                   {publish_video_id: "publish_video1", publish_streamId_id: "publish_streamId1", publish_tag: "tag1"},
                   {publish_video_id: "publish_video2", publish_streamId_id: "publish_streamId2", publish_tag: "tag2"},
                   {publish_video_id: "publish_video3", publish_streamId_id: "publish_streamId3", publish_tag: "tag3"}
               ];
  • 回调接口异步返回

    • 初始化房间成功:OnInitRoomConfigOK()

    • 初始化房间失败:OnInitRoomConfigFail(err_code, err_msg)

      回调参数

      类型

      说明

      err_code

      int

      初始化房间失败返回:

      • -201:房间状态错误

      • -202:参数错误

      • -204:E2EE_ikm 为空

      • -205:自定义分辨率、帧率、码率参数未提供。

      err_msg

      String

      状态信息

CreateRoom

创建房间。

  • 参数

    请求参数

    类型

    说明

    sign

    String

    验证签名

  • 回调接口异步返回

    • 创建房间成功:OnCreateRoomSucc(room_id, rtoken)

      回调参数

      类型

      说明

      room_id

      String

      房间号

      rtoken

      String

      房间 token,相当于房间密码。

    • 创建房间失败:OnCreateRoomFailed(err_code, err_msg)

      回调参数

      类型

      说明

      err_code

      int

      创建房间失败返回:

      • -301:房间未初始化

      • -302:服务器返回错误

      • -303:创建房间超时

      • -304:媒体初始化超时

      err_msg

      String

      状态信息

JoinRoom

加入房间。

  • 参数

    请求参数

    类型

    说明

    room_id

    String

    房间 ID

    rtoken

    String

    房间 token,相当于房间密码。

    sign

    String

    验证签名

  • 回调接口异步返回

    • 加入房间成功:OnJoinRoomSucc()

    • 加入房间失败:OnJoinRoomFailed(err_code, err_msg)

      回调参数

      类型

      说明

      err_code

      int

      加入房间失败返回:

      • -401:房间未初始化

      • -402:参数错误

      • -403:服务器返回错误

      • -404:加入房间超时

      err_msg

      String

      状态信息

Invite

邀请加入房间。

  • 参数

    请求参数

    类型

    说明

    invitee

    String

    被邀请方 UID

    channelType

    int

    推送渠道:

    • 0:WEB

    • 1:ALIPAY

    extra

    String

    业务透传字段

  • 回调接口异步返回

    • 发送邀请加入房间成功:OnInviteOK()

    • 发送邀请加入房间失败:OnInviteFail(err_code, err_msg)

      回调参数

      类型

      说明

      err_code

      int

      发送邀请加入房间失败返回:

      • -501:房间状态错误

      • -502:服务器返回错误

      • -503:参数错误

      err_msg

      String

      状态信息

ReplyInvite

回复邀请加入房间。

  • 参数

    请求参数

    类型

    说明

    roomId

    String

    房间 ID

    inviter

    String

    邀请方 UID

    reply

    int

    邀请回复:

    • 0:接听

    • 2:拒绝

  • 回调接口异步返回

    • 向邀请方发送答复加入房间成功:OnReplyInviteOK()

    • 向邀请方发送答复加入房间失败:OnReplyInviteFail(err_code, err_msg)

      回调参数

      类型

      说明

      err_code

      int

      向邀请方发送答复加入房间失败返回:

      • -601:房间状态错误

      • -602:服务器返回错误

      err_msg

      String

      状态信息

LeaveRoom

退出房间。

  • 参数:无。

  • 回调接口异步返回OnLeaveRoom(leaveType)

    回调参数

    类型

    说明

    leaveType

    int

    退出房间类型:

    • 1:正常退出

    • 2:异常退出

    • 3:被踢出房间

Publish

手动发布媒体流。

  • 参数

    请求参数

    类型

    是否必填

    说明

    media_type

    int

    必填

    音视频类型:

    • 1:音视频

    • 2:纯音频

    • 3:纯视频

    publish_bitrate

    int

    选填

    发布最大码率,默认为 600Kbps。

    publish_device

    int

    必填

    发布类型:

    • 1:摄像头

    • 2:共享桌面

    • 3:发布文件(图片和视频)

    • 4:发布自定义页面区域

    • 5:发布自定义推流

    video_profile_type

    int

    选填

    本地视频清晰度档位:

    • 1:720P,1280x720,16:9

    • 2:VGA,640x480,4:3

    • 3:360P,640x360,16:9

    • 4:720P(竖), 720x1280,9:16

    • 5:360P(竖), 360x640,9:16

    • 6:1080P,1920x1080,16:9

    • 7:1080P(竖), 1080x1920,9:16

    • 8:90P(竖),90x160,9:16

    • 9:540P,960x540,16:9

    • 10:540P(竖),540x960,9:16

    • 100:自定义

    video_profile_diy

    Object

    选填

    自定义视频宽高、帧率、码率。

    当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,传入视频宽高、帧率和码率。格式为:video_profile_diy:{width,height,frameRate,bitrate}

    publish_video_id

    -

    选填

    根据 media_type 选填。用于展示发布的视频流

    publish_streamId_id

    -

    -

    用于展示流 ID

    publish_tag

    String

    -

    业务指定 tag

    need_volume_analyser

    boolean

    -

    是否需要实时音量值,默认为 false。

    enableDesktopAudio

    boolean

    选填

    投屏时是否将声音一并投出(仅限共享 tab),为 true 时表示投声音。

    当 publishDevice 的值为 2 时才有效。

    file

    file

    选填

    为图片或视频文件,格式示例:

    let file = document.getElementById('file').files[0];

    publish_device 值为 3 时必填。

    part_of_screen_id

    String

    选填

    需要共享区域的 div 的 ID 值,格式示例:<div id="part_of_screen_id"></div>

    publish_device 值为 4 时必填。

    stream

    String

    选填

    媒体流,publish_device 值为 5 时必填。

    • 当 publish_device 值为 1 时,需要配置以下参数:

      请求参数

      类型

      是否必填

      说明

      videoSource

      String

      选填

      摄像头的设备 ID,用于发布指定摄像头。

      audioSource

      String

      选填

      麦克风的设备 ID,用于发布指定麦克风。

      aspectRatioStrongDepend

      boolean

      -

      默认为 false,是否强制指定视频横纵比。

      aspectRatio

      String

      选填

      视频横纵比:

      • 1 表示 4:3

      • 2 表示 16:9

      注意

      aspectRatioStrongDepend 的值为 true 时必填。

      degradationType

      int

      选填

      流畅度优先或清晰度优先:

      • 1:流畅度优先(默认)

      • 2:清晰度优先

      publish_bitrate

      int

      选填

      发布媒体流的最大码率,默认为 600Kbps。

      enableAudio

      boolean

      非必填

      enableVideo 也同时未填时,都默认为 true。

      enableVideo

      boolean

      非必填

      enableAudio 也同时未填时,都默认为 true。

  • 调接口异步返回

    • 发布媒体流成功:OnPublishSucc(sid)

      回调参数

      类型

      说明

      sid

      int

      发布媒体流的 ID

    • 发布媒体流失败:OnPublishFailed(sid,err_code, err_msg)

      回调参数

      类型

      说明

      sid

      int

      流 ID

      err_code

      int

      发布媒体流失败返回:

      • -1071:服务器返回错误

      • -1072:未设置视频标签

      • -1073:超出发布限额

      • -1074:发布建立媒体链路连接超时

      err_msg

      String

      状态信息

Subscribe

订阅某路媒体流。config_param 是一个结构体,里面包含如下字段:

  • 参数

    字段名

    类型

    说明

    subscribe_video_id

    String

    用于展示订阅的视频流

    subscribe_audio_id

    String

    用于展示订阅的音频流

    subscribe_streamId_id

    String

    用于展示订阅的流

    feedId_id

    String

    用于展示 feedId

    feedId

    String

    订阅的流 ID

    need_volume_analyser

    boolean

    默认为 false,是否需要实时音量值。

  • 回调接口异步返回

    • 订阅媒体流成功:OnSubscribeSucc(feedId,sid)

      回调参数

      类型

      说明

      sid

      String

      流 ID

      feedId

      String

      流信息

      feedId 流信息代码示例如下:

      {
            "feedId": ["xxx","xxx"],
            "strategy": 1
      }
      // feedId:list,订阅的流 ID
      // strategy:int,策略
    • 订阅媒体流失败:OnSubscribeFailed(sid,err_code, err_msg)

      回调参数

      类型

      说明

      sid

      String

      流 ID

      err_code

      int

      订阅媒体流失败返回:

      • -1081:服务器返回错误

      • -1082:视频窗口的 subscribe_video_id 已使用

      • -1083:超出订阅限额

      • -1084:订阅建立媒体链路失败

      • -1085:订阅的窗口 subscribe_video_id 为空

      err_msg

      String

      状态信息

SetLocalAudioEnable

开启或关闭本地麦克风。

参数

请求参数

类型

说明

enabled

int

开启或关闭本地麦克风:

  • 1:开启

  • 0:关闭

sid

int

流 ID

SetLocalVideoEnable

开启或关闭本地摄像头。

参数

请求参数

类型

说明

enabled

int

开启或关闭本地摄像头:

  • 1:开启

  • 0:关闭

sid

int

流 ID

SetLocalCodecType

设置视频编码格式。

参数

请求参数

类型

说明

type

String

视频编码格式:

  • H264

  • VP8

  • VP9

  • AV1

TakePicture

截图。

参数

请求参数

类型

说明

type

int

截图类型:

  • 0:截取本地端

  • 1:截取远端图像

width

int

图像宽度

height

int

图像高度

sid

int

流 ID

picture_type

int

输出图片格式:

  • 1:PNG

  • 2:JPEG 或 JPG

StartBrowserRecord

开启浏览器录制(近端录制),指基于浏览器的 native 录制能力进行录制。目前只支持录制两条流,不支持录制点播机器人。

  • 参数

    请求参数

    类型

    说明

    clientRecordId

    String

    浏览器录制 ID

    stream_list

    Array

    流 ID(sid)

    录制配置参数 record_config 使用 JSON 数据格式,相关说明如下表所示。

    请求参数

    类型

    说明

    media_type

    int

    录制选项:

    • 1:音视频

    • 2:纯音频

    • 3:纯视频

    time_slice

    int

    录制 blob 通知间隔时间,默认为 30,单位为分钟。

    video_profile

    JSON

    -

    videoCodec

    String

    支持 H264、VP8、VP9 视频编码格式。

    frameRate

    int

    帧率

    record_resolution

    String

    支持如下视频录制的尺寸大小:

    • 1920 x 1080

    • 1280 x 720

    • 640 x 360

    overlaps

    Array

    支持时间戳水印、文字水印、图片水印,视频相关水印说明如下:

    • 时间戳水印

      • enable:是否增加水印。

      • type:1 种水印类型。

      • id:水印 ID。

      • xPosition:水印 X 轴起始位置。

      • yPosition:水印 Y 轴起始位置。

    • 文字水印

      • enable:是否增加水印。

      • type:2 种水印类型。

      • id:水印 ID。

      • text:水印文字。

      • fontSize:水印文字大小。

      • xPosition:水印 X 轴起始位置。

      • yPosition:水印 Y 轴起始位置。

    • 图片水印

      • enable:是否增加水印。

      • type: 3 种水印类型。

      • id:水印 ID。

      • img:需要添加的水印图片元素 new image()。

      • xPosition:水印在 X 轴的起始位置。

      • yPosition:水印在 Y 轴的起始位置。

  • 回调接口异步返回

    • 开启浏览器录制成功:OnClientStartRecordSuccess(clientRecordId)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

    • 开启浏览器录制失败:OnClientStartRecordFailed(clientRecordId, code, msg)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

      code

      int

      开启浏览器录制失败返回:

      • -20301:房间状态不对。

      • -20302:已经在录制中。

      • -20303:clientRecordId 已经使用。

      • -20304:未发布或未订阅。

      • -20305:media_type 参数错误。

      • -20306:stream_list 长度错误。

      • -20307:没有要求录制的视频流或者音频流。

      • -20308:record_resolution 错误。

      msg

      String

      状态信息

StopRecord

停止浏览器录制,与 StartBrowserRecord 接口配合使用。离开房间之前需要调用此接口,否则无法获取 blob 数据。

  • 参数

    请求参数

    类型

    说明

    clientRecordId

    String

    浏览器录制 ID

  • 回调接口异步返回

    • 停止浏览器录制成功:OnClientStopRecordSuccess(videoURL, clientRecordBlob, clientRecordId)

      回调参数

      类型

      说明

      videoURL

      String

      视频文件的 URL

      clientRecordBlob

      blob

      录制文件

      clientRecordId

      String

      浏览器录制 ID

    • 停止浏览器录制失败:OnClientStopRecordFailed(clientRecordId, code, msg)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

      code

      int

      错误码,-20331 为房间状态错误码

      msg

      String

      状态信息

PauseRecord

暂停浏览器录制,与 ResumeRecord 接口配合使用。

  • 参数

    请求参数

    类型

    说明

    clientRecordId

    String

    浏览器录制 ID

  • 回调接口异步返回

    • 暂停浏览器录制成功:OnClientPauseRecordSuccess(clientRecordId)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

    • 暂停浏览器录制失败:OnClientPauseRecordFailed(clientRecordId, code, msg)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

      code

      int

      暂停浏览器录制失败返回:

      • -20371:房间状态错误

      • -20372:未开启浏览器录制

      msg

      String

      状态信息

ResumeRecord

继续浏览器录制,与 PauseRecord 接口配合使用。

  • 参数

    请求参数

    类型

    说明

    clientRecordId

    String

    浏览器录制 ID

  • 回调接口异步返回

    • 继续浏览器录制成功:OnClientResumeRecordSuccess(clientRecordId)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

    • 继续浏览器录制失败:OnClientResumeRecordFailed(clientRecordId, code, msg)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

      code

      int

      继续浏览器录制失败返回:

      • -20391:房间状态错误

      • -20392:未开启浏览器录制

      msg

      String

      状态信息

DownloadRecord

下载浏览器录制音视频,需要在离开房间之前下载。

  • 参数

    请求参数

    类型

    说明

    clientRecordId

    String

    浏览器录制 ID

    fileName

    String

    指定文件名

  • 回调接口异步返回

    • 下载浏览器录制文件成功:OnClientDownloadRecordSuccess(clientRecordId)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

    • 下载浏览器录制文件失败:OnClientDownloadRecordFailed(clientRecordId, code, msg)

      回调参数

      类型

      说明

      clientRecordId

      String

      浏览器录制 ID

      code

      int

      下载浏览器录制文件失败返回:

      • -20351:房间状态错误

      • -20352:未开启浏览器录制

      • -20353:未停止浏览器录制

      msg

      String

      状态信息

StartRemoteRecord

开始服务端录制(远端录制,即在媒体服务器上进行录制),与 StopRemoteRecord 接口配合使用。

  • 参数

    请求参数

    类型

    是否选填

    说明

    file_path

    String

    选填

    服务端录制路径

    record_param

    JSON

    选填

    录制参数,具体参数见 附录 recordParam。

    record_third_id

    String

    -

    录制三方 ID,用于业务方区分调用批次,在启动成功或失败的回调中返回,非必传。

  • 回调接口异步返回

    • 初始化服务端录制成功:OnInitRemoteRecordSucc(record_id, record_third_id)

      回调参数

      类型

      说明

      recordId

      String

      录制 ID

      record_third_id

      String

      启动录制时传入的 ID,区分调用批次

    • 启动服务端录制成功:OnStartRemoteRecordSucc(record_id, record_third_id),晚于 OnInitRemoteRecordSucc

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      record_third_id

      String

      启动录制时传入的 ID,区分调用批次

    • 启动服务端录制失败:OnStartRemoteRecordFailed(record_id, err_code, err_msg, record_third_id)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      err_code

      int

      启动服务端录制失败返回:

      • -10311:服务端返回开启录制失败

      • -10312:开启录制超时

      • -10313:推送开启录制失败,eventCode 值为 1

      • -10314:推送开启录制失败,eventCode 值为 2

      err_msg

      String

      状态信息

      record_third_id

      String

      启动录制时传入的 ID,区分调用批次

StopRemoteRecord

结束服务端录制,与 StartRemoteRecord 接口配合使用。

  • 参数

    请求参数

    类型

    说明

    record_id

    String

    服务端录制 ID

  • 回调接口异步返回

    • 停止服务端录制成功:OnStopRecordSucc(recordId)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

    • 停止服务端录制失败:OnStopRecordFailed(recordId,err_code, err_msg)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      err_code

      String

      10331(错误码):服务端返回停止失败

      err_msg

      String

      状态信息

GetRecordInfo

获取服务端录制结果。

  • 参数

    请求参数

    类型

    说明

    record_id

    String

    服务端录制 ID

    room_id

    String

    房间号

    media_type

    int

    文件内容类型:

    • 0:音视频,为默认值

    • 1:纯音频

    • 2:纯视频

    sign

    String

    业务主动提供签名验证。

  • 回调接口异步返回

    • 获取服务端录制结果成功:OnRemoteRecordInfoSucc(recordInfo)

      说明

      status 值为 2 时,才会有 fileType 和 filePath。

      回调参数

      类型

      说明

      recordInfo

      JSON

      获取服务端录制结果返回

      • recordId:服务端录制 ID

      • status:录制状态

        • 0:录制中

        • 1:上传中

        • 2:录制成功

        • 3:录制失败

      • fileType:文件类型

        • 1:本地文件

        • 2:OSS

        • 3:AFTS

      • filePath:文件路径

    • 获取服务端录制结果失败:OnRemoteRecordInfoFailed(record_id, err_code, err_msg)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      err_code

      int

      获取服务端录制结果失败返回:

      • -10351:连接状态错误

      • -10352:服务端返回错误

      • -10353:请求参数错误

      err_msg

      String

      状态信息

UnPublish

取消发布媒体流。

  • 参数

    请求参数

    类型

    说明

    sid

    int

    发布媒体流的 ID

  • 回调接口异步返回

    取消发布媒体流成功:OnUnPublishSucc(sid)

    回调参数

    类型

    说明

    sid

    String

    流 ID

UnSubscribe

取消订阅某路媒体流。

  • 参数

    请求参数

    类型

    说明

    sid

    int

    订阅某路媒体流的 ID

  • 回调接口异步返回

    取消订阅某路媒体流成功:OnUnSubscribeSucc(sid)

    回调参数

    类型

    说明

    sid

    String

    流 ID

SendTextMsg

发送文本消息。

  • 参数

    请求参数

    类型

    说明

    msg

    String

    消息文本

    participants

    Array

    发送目标 ID,为空则发给与会其他所有人。

  • 回调接口异步返回

    • 发送文本消息成功:OnSendTextMsgSucc(msgId)

      回调参数

      类型

      说明

      msgId

      int

      消息 ID

    • 发送文本消息失败:OnSendTextMsgFailed(msgId, code, msg)

      回调参数

      类型

      说明

      msgId

      int

      消息 ID

      code

      int

      10291(错误码):服务端返回错误

      msg

      String

      消息文本

SetPublishWeakBitrateLimit

设置发布弱网码率告警下限,在 初始化(InitRoomConfig)时调用此接口。

参数

请求参数

类型

说明

weak_bitrate

int

发布弱网码率告警下限:

  • 音频 + 视频:默认为 200

  • 单独的音频:默认为 20-25

SetSubscribeWeakBitrateLimit

设置订阅弱网码率告警下限,在 初始化(InitRoomConfig)时调用此接口。

参数

请求参数

类型

说明

weak_bitrate

int

订阅弱网码率告警下限:

  • 音频 + 视频:默认为 200

  • 单独的音频:默认为 20-25

StartVod()

开始语音点播,仅主站支持。

  • 参数

    请求参数

    类型

    说明

    vodParams

    JSON

    • vodFile:点播的文件名。

    • vodStartTimeout:开启点播超时的时间,单位为秒,默认为 5 秒。

  • 回调接口异步返回

    • 开始语音点播成功:OnStartVodSuccess(file, vod_id)

      回调参数

      类型

      说明

      file

      String

      点播文件

      vod_id

      String

      点播 ID

    • 开始语音点播失败:OnStartVodFail(file, vod_id, err_code, err_msg)

      回调参数

      类型

      说明

      file

      String

      点播文件

      vod_id

      String

      点播 ID

      err_code

      int

      开始语音点播失败返回:

      • -10371:服务端返回错误

      • -10372:房间状态错误

      • -10373:服务端通知开启失败

      • -10374:点播参数有误

      • -10375:开启点播超时

      err_msg

      String

      状态信息

StopVod()

停止语音点播,仅主站支持。

  • 参数

    请求参数

    类型

    说明

    vod_id

    String

    点播 ID

  • 回调接口异步返回

    • 停止语音点播成功:OnStopVodSuccess(vod_id)

      回调参数

      类型

      说明

      vod_id

      String

      点播 ID

    • 停止语音点播失败:OnStopVodFail(vod_id, err_code, err_msg)

      回调参数

      类型

      说明

      vod_id

      String

      点播 ID

      err_code

      int

      停止语音点播失败返回:

      • -10391:服务端返回失败

      • -10392:房间状态错误

      • -10393:点播 ID 有误

      err_msg

      String

      错误消息

DownloadLog()

日志上报,调用此接口可下载控制台日志到 PC 本机(默认最长 10000 行日志)。

  • 参数:无。

ChangeMediaStream()

自定义切流。录制配置参数 record_config 使用 JSON 数据类型,包含参数如下表所示。

  • 参数

    请求参数

    类型

    是否必填

    说明

    publish_device

    -

    必填

    发布类型:

    • 1:摄像头

    • 2:共享桌面

    • 3:发布图片和视频文件

    • 4:发布自定义页面区域

    • 5:发布自定义推流

    publish_bitrate

    int

    选填

    发布最大码率,默认为 600Kbps。

    media_type

    -

    必填

    音视频类型

    sid

    -

    必填

    已发布的流 ID

    video_profile_type

    -

    选填

    分辨率,publish_device 值为 1 时,必填。

    videoSource

    String

    选填

    摄像头的设备 ID,用于切换指定摄像头。

    publish_device 值为 1 时,必填。

    audioSource

    String

    选填

    麦克风的设备 ID,用于切换指定麦克风。

    publish_device 值为 1 时,必填。

    aspectRatioStrongDepend

    boolean

    选填

    默认为 false,是否强制指定横纵比。

    publish_device 值为 1 时,必填。

    file

    -

    选填

    图片或视频文件。

    publish_device 值为 3 时,必填。

    part_of_screen_id

    -

    选填

    需要发布的自定义区域。

    publish_device 值为 4 时,必填。

    stream

    -

    选填

    需要发布自定义推流。

    publish_device 值为 5 时,必填。

    video_profile_type

    int

    选填

    本地视频清晰度档位:

    • 1:720P,1280x720,16:9

    • 2:VGA,640x480, 4:3

    • 3:360P,640x360,16:9

    • 4:720P(竖),720x1280,9:16

    • 5:360P(竖),360x640, 9:16

    • 6:1080P,1920x1080,16:9

    • 7:1080P(竖),1080x1920,9:16

    • 8:90P(竖)90x160,9:16

    • 9:540P,960x540,16:9

    • 10:540P(竖),540x960,9:16

    • 100:自定义

    video_profile_diy

    Object

    选填

    自定义视频宽高、帧率、码率。

    当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,里面带入视频宽高,帧率和码率。格式:video_profile_diy:{width,height,frameRate,bitrate}

    enableAudio

    boolean

    选填

    enableVideo 也同时未填时,都默认为 true。

    enableVideo

    boolean

    选填

    enableAudio 也同时未填时,都默认为 true。

  • 回调接口异步返回

    • 切流成功通知:OnChangeMediaStreamSuccess(sid)

      回调参数

      类型

      说明

      sid

      int

      流 ID

    • 切流失败通知:OnChangeMediaStreamFailed(sid,code, msg)

      回调参数

      类型

      说明

      sid

      int

      流 ID

      code

      int

      切流失败通知返回:

      • -1101:当前 sid 未发布

      • -1102:切流参数错误

      • -1104:获取音视频失败

      • -1105:共享屏幕流为空

      • -1106:获取视频失败

      • -1107:获取文件流失败

      • -1108:获取音频失败

      • -1109:浏览器不支持音视频

      • -1110:未提供自定义流

      • -1111:未提供自定义分辨率等参数

      msg

      String

      状态信息

ChangeProfile()

动态切换(分辨率、摄像头麦克风、横纵比)。录制配置参数 record_config 使用 JSON 数据格式,如下表所示。

  • 参数

    请求参数

    类型

    是否必填

    说明

    sid

    -

    必填

    已发布的流 ID

    video_profile_type

    -

    选填

    视频的分辨率

    local_video_width

    -

    选填

    视频的宽度

    local_video_height

    -

    选填

    视频的高度

    videoSource

    String

    选填

    摄像头的设备 ID,用于切换指定摄像头。

    audioSource

    String

    选填

    麦克风的设备 ID,用于切换指定麦克风。

    aspectRatioStrongDepend

    boolean

    -

    默认为 false,是否强制指定视频横纵比。

    aspectRatio

    String

    选填

    视频横纵比:

    • 1 表示 4:3

    • 2 表示 16:9

    aspectRatioStrongDepend 值为 true 时,必填。

    video_profile_type

    int

    选填

    本地视频清晰度的档位:

    • 1:720p,1280x720,16:9

    • 2:VGA,640x480,4:3

    • 3:360P,640x360,16:9

    • 4:720P(竖),720x1280,9:16

    • 5:360P(竖),360x640,9:16

    • 6:1080P,1920x1080,16:9

    • 7:1080P(竖),1080x1920,9:16

    • 8:90P(竖),90x160,9:16

    • 9:540P,960x540,16:9

    • 10:540P(竖),540x960,9:16

    • 100:自定义

    video_profile_diy

    -

    选填

    自定义视频宽高,帧率,码率。

    当 video_profile_type 为 100 时,才需带上参数 video_profile_diy,将视频宽高,帧率和码率带入其中。格式为:

    video_profile_diy:{width,height,frameRate,bitrate}

  • 回调接口异步返回

    • 切流成功通知:OnChangeMediaStreamSuccess(sid)

      回调参数

      类型

      说明

      sid

      int

      流 ID

    • 切流失败通知:OnChangeMediaStreamFailed(sid,code, msg)

      回调参数

      类型

      说明

      sid

      int

      流 ID

      code

      int

      切流失败通知返回:

      • -1101:当前 sid 未发布

      • -1102:切流参数错误

      • -1104:获取音视频失败

      • -1105:共享屏幕流为空

      • -1106:获取视频失败

      • -1107:获取文件流失败

      • -1108:获取音频失败

      • -1109:浏览器不支持音视频

      • -1110:未提供自定义流

      • -1111:未提供自定义分辨率等参数

      msg

      String

      状态信息

GetDevices()

获取设备信息。

  • 参数:无。

  • 回调接口异步返回

    • 获取设备信息成功:OnGetDevicesSuccess(devicesInfo)

      回调参数

      类型

      说明

      devicesInfo

      JSON

      设备信息

    • 获取设备信息失败:OnGetDevicesFailed(code, msg)

      回调参数

      类型

      说明

      code

      int

      获取设备信息失败返回:

      • -30101:浏览器不支持音视频

      • -30102:获取媒体错误

      msg

      String

      状态信息

PauseRemoteRecord

暂停服务端录制,与 ResumeRemoteRecord 接口配合使用。

  • 参数

    请求参数

    类型

    说明

    record_id

    String

    服务端录制 ID

  • 回调接口异步返回

    • 暂停服务端录制成功:OnPauseRemoteRecordSucc(record_id)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

    • 暂停服务端录制失败:OnPauseRemoteRecordFailed(record_id, err_code, err_msg)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      err_code

      int

      暂停服务端录制失败返回:

      • -10341:房间状态错误

      • -10342:录制状态错误

      • -10343:服务端错误

      err_msg

      String

      状态信息

ResumeRemoteRecord

恢复服务端录制,与 PauseRemoteRecord 接口配合使用。

  • 参数

    请求参数

    类型

    说明

    record_id

    String

    服务端录制 ID

  • 回调接口异步返回

    • 恢复服务端录制成功:OnResumeRemoteRecordSucc(record_id)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

    • 恢复服务端录制失败:OnResumeRemoteRecordFailed(record_id, err_code, err_msg)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      err_code

      int

      恢复服务端录制失败返回:

      • -10361:房间状态错误

      • -10362:录制状态错误

      • -10363:服务端错误

      err_msg

      String

      状态信息

ChangeRemoteRecordWatermark

变更服务端录制水印。

  • 参数

    请求参数

    类型

    说明

    record_id

    String

    服务端录制 ID

    overlaps

    Jsonarray

    附录 recordParam 中的 overlaps

  • 回调接口异步返回

    • 变更服务端录制水印成功:OnChangeRemoteRecordWatermarkSucc(record_id)

      回调参数

      类型

      描述

      record_id

      String

      服务端录制 ID

    • 变更服务端录制水印失败:OnChangeRemoteRecordWatermarkFailed(record_id, err_code, err_msg)

      回调参数

      类型

      说明

      record_id

      String

      服务端录制 ID

      err_code

      int

      状态码

      err_msg

      String

      状态信息

PauseFile

暂停共享音频或视频播放。

  • 参数

    请求参数

    类型

    说明

    sid

    int

    流 ID

  • 回调接口异步返回

    • 暂停共享文件成功:OnPauseFileSuccess

      回调参数:无。

    • 暂停共享文件失败:OnPauseFileFail

      回调参数:无。

PlayFile

恢复播放共享音频或视频播放。

  • 参数

    请求参数

    类型

    说明

    sid

    int

    流 ID

  • 回调接口异步返回

    • 恢复播放共享文件成功:OnPlayFileSuccess

      回调参数:无。

    • 恢复播放共享文件失败:OnPlayFileFail

      回调参数:无。

ChangeStreamSize

动态修改视频尺寸。

  • 参数

    请求参数

    类型

    是否必填

    说明

    sid

    int

    -

    流 ID

    video_profile_type

    String

    选填

    本地视频的清晰度档位:

    • 1:720P,1280x720,16:9

    • 2:VGA,640x480,4:3

    • 3:360P,640x360,16:9

    • 4:720P(竖),720x1280,9:16

    • 5:360P(竖),360x640,9:16

    • 6:1080P,1920x1080,16:9

    • 7:1080P(竖),1080x1920,9:16

    • 8:90P(竖),90x160,9:16

    • 9:540P,960x540,16:9

    • 10:540P(竖),540x960,9:16

    • 100:自定义

  • 回调接口异步返回

    • 修改视频尺寸成功:OnChangeStreamSizeSuccess(sid, localVideoWidth, localVideoHeight)

      请求参数

      类型

      说明

      sid

      int

      流 ID

      localVideoWidth

      int

      切换后的视频宽度

      localVideoHeight

      int

      切换后的视频高度

    • 修改视频尺寸失败:OnChangeStreamSizeFail(sid, localVideoWidth, localVideoHeight, errCode, errMsg)

      请求参数

      类型

      说明

      sid

      int

      流 ID

      localVideoWidth

      int

      切换后的视频宽度

      localVideoHeight

      int

      切换后的视频高度

      err_code

      int

      状态码

      err_msg

      String

      状态信息

SendData

通过 DataChannel 发送信息。

参数

请求参数

类型

说明

data

String(目前仅支持文本)

发送文本信息

阿里云首页 移动开发平台 mPaaS 相关技术圈