全部产品

主调接口

更新时间:2020-11-19 11:50:32

1. Connect

请求参数 类型 描述
config_param {} config_param 是一个结构体, 里面包含如下字段:
  • uid:int 类型,必填,用户唯一标识, 由客户端透传而来。
  • room_server_url:String 类型,必填,房间服务器地址。
  • biz_name:String 类型,必填,业务标识。
  • sub_biz:String 类型,必填,业务标识。
  • 回调接口异步返回
    • OnConnectOK()
    • OnConnectFailed(err_code, err_msg)

2. Disconnect

  • 说明
    断开连接。调用 Disconnect() 接口,会触发离开房间,离开房间之前会关闭发布和订阅的流。即:断开连接 > 离开房间 > 关闭房间所有流
  • 参数
    无。
  • 回调接口异步返回
    • OnConnectClose()

3. InitRoomConfig

  • 说明
    初始化房间。

    请求参数 类型 描述
    config_param {} autopublish_subscribe:int 类型,必填,发布订阅模式
      1 表示自动订阅。
      2 表示自动发布。
      3 表示自动订阅 + 自动发布。
      4 表示均不自动,由业务自己操作。
    third_id:String 类型,业务关联 id,默认为空。
    need_volume_analyser:boolean 类型,默认为 false,是否需要实时音量值。
    transport
    :String 类型,传输方式,可选为 all/relay,默认为 all。
    defaultTurnServer:String 类型,自定义中转服务器。
    liveUrl:String 类型,非必填(直播模式必填),直播地址。
    publish_type:int 类型,非必填(直播模式必填)。
    • 2:RTC 模式
    • 3:直播模式
    defaultRecord:boolean 类型,非必填,服务端是否默认录制,默认为 false。
    recordStrongDepend:boolean 类型,是否强依赖录制,默认为 true。若为 true,则录制如果没启动成功,音视频通话也不能成功。
    record_third_id:String 类型,录制三方 ID,用于业务方区分调用批次,在启动成功/失败的回调中返回,非必传。
    recordParam:json 类型,录制参数,非必填。
      silentRecord:boolean 类型,静默录制,默认为 false   width:int 类型,宽度,默认为 640
      height:int 类型,高度,默认为 360
      fps:int 类型,帧率,默认为 20
      sampleRate:int 类型,音频采样率,默认为 48000
      channels:int 类型,声道,默认为 1
      audioCodeRate:int 类型,音频码率,默认为 32000
      startTimeout:int 类型,录制开启超时时间,默认为 10s
      recordTotalStream:int 类型,最小成功开启录制流的条数,默认为 0
      splitType:int 类型
        0 表示音视频(默认)
        1 表示纯音频 + 音视频
        2 表示纯视频 + 音视频
      splitFilePath:String 类型,分离文件的存储路径,默认为空
      recordFormat:int 类型,录制类型
        1 表示mp4
        2 表示flv
      layoutMode:布局类型
        0 表示双人模式
        1 表示画中画模式(双人)
        2 表示多人录制模式
      multiModeType:多人录制模板类型
        1 为默认,表示奇特殊偶平分(横版)
        2 表示奇特殊偶平分(竖版)
      rtWatermark:int 类型,实时时间水印,0 表示不设置,1/2/3/4 表示设置位置分别为左上角,右上角,左下角,右下角,默认为 1
      waterMark:int 类型,图片水印,0 表示不设置,1/2/3/4 表示设置位置分别为左上角,右上角,左下角,右下角,默认为 1
      waterMarkUrl:图片水印 URL,用于下载
      textWatermark:int 类型,文字水印,0 表示不设置,1/2/3/4 表示设置位置分别为左上角,右上角,左下角,右下角,默认为 0
      text:String 类型,文字水印文字内容
      tagFilter:String 类型,匹配上发布端的 tag 前缀才能订阅录制;默认为空,表示全匹配
      tagPosition:String 类型,指定 TAG 的布局位置,例如 {"aa":1, "bb":2}
      mixPosition:jsonArray 类型,录制窗⼝布局,例如 [{"index":1,   "x_offset":1, "y_offset":2 , "width":160, "height": 90},{"index":2,   "x_offset":1, "y_offset":2 , "width":160, "height": 90}]
      endType:int 类型,结束类型
        0 表示调用者退出时结束
        1 表示房间销毁时结束
    filePath:String 类型,非必填,服务端录制路径(若指定 filePath,则需指定 defaultRecord 为 true)
    若 auto_publish_subscribe=1,需要以下参数:
    initSubscribe:Array 类型,订阅参数。
    subscribe_video_id:必填,订阅视频控制标签 ID,用于展示视频流。
    例如:<video id="video1" width="auto" height="auto"> video</video>
    subscribe_audio_id:必填,用于展示订阅音频流。
    例如:<audio id="audio1" autoplay>音频</audio>
    feedId_id:必填,label 标签,用于展示 feedId。
    例如:<label id="feedId" type="text"></label>
    subscribe_streamId_id:必填,label 标签,用于展示 streamId。
    例如:<label id="streamId" type="text"></label>
    整体举例:
    initSubscribe = [
    {
    subscribe_video_id: “video1”,
    subscribe_audio_id: “audio1”,
    subscribe_streamId_id: “streamId”,
    feedId_id: “feedId”
    },{},{}];


    若 auto_publish_subscribe=2,需要以下参数:
    media_type:int 类型,必填,音视频类型。
      1 表示音视频;
      2 表示纯音频;
      3 表示纯视频。
    publish_bitrate:int 类型,选填,发布最大码率,默认为 600 Kbps
    publish_device:int 类型,必填,发布类型。
      1 表示摄像头;
      2 表示共享桌面
      3 表示发布文件(图片和视频)
      4 表示发布自定义页面区域

    当 publish_device=1 时:
    videoSource:String 类型,可选,摄像头的 deviceId,用于发布指定摄像头。
    audioSource:String 类型,可选,麦克风的 deviceId,用于发布指定麦克风。
    aspectRatioStrongDepend:boolean 类型,默认为 false,是否强制指定横纵比。
    aspectRatio:String 类型,可选(当 aspectRatioStrongDepend=true 时必填)
      1 表示 4:3
      2 表示 16:9

    video_profile_type:int 类型,可选,本地视频清晰度档位。
      1 表示 720p(HD), 1280x720, 16:9
      2 表示 VGA, 640x480, 4:3
      3 表示 360p(nHD), 640x360, 16:9
      4 表示 CIF, 352x288, 4:3
    initPublish:Array 类型,必填,发布参数。
    publish_video_id:根据 media_type 选填,发布视频控制标签,用于展示视频流。
    publish_streamId_id:必填,label 标签,用于展示 streamId。
    publish_tag:必填,业务自定义。
    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”}
    ];


    若 auto_publish_subscribe=3,需要以下参数:
    media_type:int 类型,必填,音视频类型。
      1 表示音视频;
      2 表示纯音频;
      3 表示纯视频。
    publish_bitrate:int 类型,选填,发布最大码率,默认为 600 Kbps
    publish_device:int 类型,必填,发布类型。
      1 表示摄像头
      2 表示共享桌面
      3 表示发布文件(图片和视频)
      4 表示发布自定义页面区域
    video_profile_type:int 类型,可选,本地视频清晰度档位。
      1 表示 720p(HD), 1280x720, 16:9
      2 表示 VGA, 640x480, 4:3
      3 表示 360p(nHD), 640x360, 16:9
      4 表示 CIF, 352x288, 4:3
    initPublish:Array 类型,必填,发布参数。
      publish_video_id:根据 media_type 选填,发布视频控制标签,用于展示视频流。
      publish_streamId_id:必填,label 标签,用于展示 streamId。
      publish_tag:必填,业务自定义。
    例如:
    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”}
           ];


    initSubscribe:Array 类型,订阅参数。
      subscribe_video_id:必填,订阅视频控制标签,用于展示视频流。
      subscribe_audio_id:必填,用于展示订阅音频流
      feedId_id:必填,label 标签,用于展示 feedId。
      subscribe_streamId_id:必填,label 标签,用于展示 streamId。
    例如:
    initSubscribe = [
        {
          subscribe_video_id: “video1”,
          subscribe_audio_id: “audio1”,
          subscribe_streamId_id: “subscribe_streamId1”,
          feedId_id: “feedId1”
        },{},{}];
    bizName String 业务名
    subBiz String 子业务
    uid String 用户 ID
  • 回调接口异步返回

    • OnInitRoomConfigOK()
    • OnInitRoomConfigFail(err_code, err_msg)

4. CreateRoom

  • 说明
    创建房间。
  • 参数
    无。
  • 回调接口异步返回
    • OnCreateRoomSucc(room_id, rtoken)
    • OnCreateRoomFailed()

5. JoinRoom

  • 说明
    加入房间。
  • 参数
请求参数 类型 描述
room_id String 房间 ID
rtoken String 房间 token,相当于房间密码
engine int 0 表示 alipay,为默认值
1 表示 aliyun
  • 回调接口异步返回
    • OnJoinRoomSucc()
    • OnJoinRoomFailed(err_code, err_msg)

6. Invite

  • 说明
    邀请加入房间。
  • 参数
请求参数 类型 描述
invitee String 被邀请方 uid
channelType int 推送渠道
0 表示 WEB
1 表示 ALIPAY
extra String 业务透传字段
  • 回调接口异步返回
    • OnInviteOK()
    • OnInviteFail(err_code, err_msg)

7. ReplyInvite

  • 说明
    回复邀请加入房间。
  • 参数
请求参数 类型 描述
roomId String 房间 ID
inviter String 邀请方 uid
reply int 0 表示接听
2 表示拒绝
  • 回调接口异步返回
    • OnReplyInviteOK()
    • OnReplyInviteFail(err_code, err_msg)

8. LeaveRoom

  • 说明
    退出房间。
  • 参数
    无。
  • 回调接口异步返回
    • OnLeaveRoom()

9. Publish

  • 说明
    发布媒体流。
  • 参数
请求参数 类型 描述
config_param {} media_type:int 类型,必填,音视频类型。
1 表示音视频。
2 表示纯音频。
3 表示纯视频。
publish_bitrate:int 类型,选填,发布最大码率,默认为 600 Kbps。
publish_device:int 类型,必填,发布类型。
1 表示摄像头;
2 表示共享桌面。
3 表示发布文件(图片和视频)
4 表示发布自定义页面区域。
video_profile_type:int 类型,可选,本地视频清晰度档位。
1 表示 720p(HD), 1280x720, 16:9
2 表示 VGA, 640x480, 4:3
3 表示 360p(nHD), 640x360, 16:9
local_video_id:String 类型,根据 media_type 选填,发布视频控制标签,用于展示视频流。
publish_streamId_id:String 类型,必填,label 标签,用于展示 streamId。
publish_tag:String 类型,业务指定 tag。
need_volume_analyser:boolean 类型,默认为 false,是否需要实时音量值。
file:file,可选(publish_device=3 时必填),图片或视频文件。
例如:let file = document.getElementById('file').files[0];
part_of_screen_id:String 类型,可选(publish_device=4 时必填),需要共享区域的 div 的 id 值。
例如:<div id="part_of_screen_id"></div>
publish_device=1 时:
videoSource:String 类型,可选,摄像头的 deviceId,用于发布指定摄像头。
audioSource:String 类型,可选,麦克风的 deviceId, 用于发布指定麦克风。
aspectRatioStrongDepend:boolean 类型,可选,默认为 false,是否强制指定横纵比
aspectRatio:String 类型,可选(aspectRatioStrongDepend=true 时必填):
1 表示 4:3
2 表示 16:9
publish_bitrate:int 类型,选填,发布最大码率,默认 600 Kbps。
  • 调接口异步返回
    • OnPublishSucc(sid)
    • OnPublishFailed(sid,err_code, err_msg)

10. Subscribe

  • 说明
    订阅某路媒体流。
  • 参数
请求参数 类型 描述
config_param {} subscribe_video_id:String 类型,必填,订阅视频控制标签, 用于展示视频流。
subscribe_audio_id:String 类型,必填,用于展示订阅音频流。
subscribe_streamId_id:String 类型,必填,label 标签,用于展示 streamId。
feedId_id:String 类型,必填,label 标签,用于展示 feedId。
feedId:订阅的流 id。
need_volume_analyser:boolean 类型,默认为 false,是否需要实时音量值。
  • 回调接口异步返回
    • OnSubscribeSucc(feedId,sid)
    • OnSubscribeFailed(sid,err_code, err_msg)

11. SetLocalAudioEnable

  • 说明
    开启/关闭本地麦克风。
  • 参数
请求参数 类型 描述
enabled int 1 表示开
0 表示关
sid int 流 id

12. SetLocalVideoEnable

  • 说明
    开启/关闭本地摄像头。
  • 参数
请求参数 类型 描述
enabled int 1 表示开
0 表示关
sid int 流 id

13. SetLocalCodecType

  • 说明
    设置视频编码格式。
  • 参数
请求参数 类型 描述
type String H264
VP8

14. SetLocalProtoType

  • 说明
    设置音视频传输协议。
  • 参数
请求参数 类型 描述
type String all
tcp
udp

15. TakePicture

  • 说明
    截图。
  • 参数
请求参数 类型 描述
type int 0 表示截取本地端
1 表示截取远端图像
width int 图像宽度
height int 图像高度
sid int 流 id
picture_type int 输出图片格式:
1 表示 png
2 表示 jpeg/jpg

17. StopRecord

  • 说明
    停止浏览器录制,与 StartBrowserRecord 接口配合使用。
    离开房间之前需要调用此接口,否则无法获取 blob 数据。
  • 参数
请求参数 类型 描述
clientRecordId String 浏览器录制 id
  • 回调接口异步返回
    • OnClientStopRecordSuccess(videoURL, clientRecordBlob, clientRecordId)
    • OnClientStopRecordFailed(clientRecordId, code, msg)

18. PauseRecord

  • 说明
    暂停浏览器录制,与 ResumeRecord 接口配合使用。
  • 参数
请求参数 类型 描述
clientRecordId String 浏览器录制 id
  • 回调接口异步返回
    • OnClientPauseRecordSuccess(clientRecordId)
    • OnClientPauseRecordFailed(clientRecordId, code, msg)

19. ResumeRecord

  • 说明
    继续浏览器录制,与 PauseRecord 接口配合使用。
  • 参数
请求参数 类型 描述
clientRecordId String 浏览器录制 id
  • 回调接口异步返回
    • OnClientResumeRecordSuccess(clientRecordId)
    • OnClientResumeRecordFailed(clientRecordId, code, msg)

20. DownloadRecord

  • 说明
    下载浏览器录制音视频,需要在离开房间之前下载。
  • 参数
请求参数 类型 描述
clientRecordId String 浏览器录制 id
fileName String 指定文件名
  • 回调接口异步返回
    • OnClientDownloadRecordSuccess(clientRecordId)
    • OnClientDownloadRecordFailed(clientRecordId, code, msg)

21. StartRemoteRecord

  • 说明
    开始服务端录制(远端录制,即在媒体服务器上进⾏录制),与 StopRemoteRecord 接口配合使用。
  • 参数
请求参数 类型 描述
file_path String 选填,服务端录制路径
record_param json 录制参数,非必填
silentRecord:boolean 类型,静默录制,默认为 false
width:int 类型,宽度,默认为 640
height:int 类型,高度,默认为 360
fps:int 类型,帧率,默认为 20
sampleRate:int 类型,音频采样率,默认为 48000
channels:int 类型,声道,默认为 1
audioCodeRate:int 类型,音频码率,默认为 32000
startTimeout:int 类型,录制开启超时时间,默认为 10s
recordTotalStream:int 类型,最小成功开启录制流的条数,默认为 0
splitType:int 类型
    0 表示音视频(默认)
    1 表示纯音频 + 音视频
    2 表示纯视频 + 音视频
splitFilePath:String 类型,分离文件的存储路径,默认为空
recordFormat:int 类型,录制类型
    1 表示 mp4
    2 表示 flv
layoutMode:布局类型
    0 表示双人模式
    1 表示画中画模式(双人)
    2 表示多人录制模式
multiModeType:多人录制模板类型
    1 为默认,表示奇特殊偶平分(横版)
    2 表示奇特殊偶平分(竖版)
rtWatermark:实时时间水印,0 表示不设置,1/2/3/4 表示设置位置分别为左上角,右上角,左下角,右下角,默认为 1
waterMark:图片水印,0 表示不设置,1/2/3/4 表示设置位置分别为左上角,右上角,左下角,右下角,默认为 1
waterMarkUrl:图片水印 URL 用于下载
textWatermark:int 类型,文字水印,0 表示不设置,1/2/3/4 表示设置位置分别为左上角,右上角,左下角,右下角,默认为 0
text:String 类型,文字水印文字内容
tagFilter:String 类型,匹配发布端的 tag 前缀才能订阅录制;默认为空,表示全匹配
tagPosition:String 类型,指定 TAG 的布局位置
mixPosition:jsonArray 类型,录制窗⼝布局,例如 [{"index":1,"x_offset":1, "y_offset":2 , "width":160, "height": 90},{"index":2,"x_offset":1, "y_offset":2 , "width":160, "height": 90}]
tagPosition:String 类型,指定 TAG 的布局位置,例如 {"aa":1, "bb":2}
endType:int 类型,结束类型
    0 表示调用者退出时结束
    1 表示房间销毁时结束
record_third_id String 录制三方 ID,用于业务方区分调用批次,在启动成功/失败的回调中返回,非必传。
  • 回调接口异步返回
    • OnInitRemoteRecordSucc(record_id, record_third_id):服务端录制初始化成功。
    • OnStartRemoteRecordSucc(record_id, record_third_id):服务端录制启动成功,晚于 OnInitRemoteRecordSucc
    • OnStartRemoteRecordFailed(record_id, err_code, err_msg, record_third_id):服务端录制启动失败。

22. StopRemoteRecord

请求参数 类型 描述
record_id String 服务端录制 id
  • 回调接口异步返回
    • OnStopRecordSucc(recordId)
    • OnStopRecordFailed(recordId,err_code, err_msg)

23. GetRecordInfo

  • 说明
    获取服务端录制结果。调用此接口会回调 OnGetSign(bizName,subBiz,record_id) 来获取签名,同时 OnGetSign 中的 uid 会替换为此处的 record_id
  • 参数
请求参数 类型 描述
record_id String 服务端录制 id
room_id String 房间号
media_type int 文件内容类型:
0 表示音视频(默认)
1 表示纯音频
2 表示纯视频
  • 回调接口异步返回
    • OnRecordInfoSucc(recordInfo)
    • OnRecordInfoFailed(recordId,err_code, err_msg)

24. UnPublish

  • 说明
    取消发布媒体流。
  • 参数
请求参数 类型 描述
sid int 流 id
  • 回调接口异步返回
    • OnUnPublishSucc(sid)

25. UnSubscribe

  • 说明
    取消订阅某路媒体流。
  • 参数
请求参数 类型 描述
sid int 流 id
  • 回调接口异步返回
    • OnUnSubscribeSucc(sid)

26. SendTextMsg

  • 说明
    发送文本消息。
  • 参数
请求参数 类型 描述
msg String 消息文本
participants Array 发送目标 id(为空则发给与会其他所有人)

28. SetPublishWeakBitrateLimit

请求参数 类型 描述
weak_bitrate int 发布弱网码率告警下限:
音频 + 视频:默认为 200
单独音频:默认为 20-25

29. SetSubscribeWeakBitrateLimit

请求参数 类型 描述
weak_bitrate int 订阅弱网码率告警下限
弱网码率告警下限
音频+视频:默认为 200
单独音频:默认为 20-25

32. StartVod(vodParams)

  • 说明
    开始语音点播。
  • 参数
请求参数 类型 描述
vodParams json vodFile:点播文件名
vodStartTimeout:开启点播超时时间(单位为秒,默认为 5s)
  • 回调接口异步返回
    • OnStartVodSuccess(file, vod_id)
    • OnStartVodFail(file, vod_id, err_code, err_msg)

33. StopVod(vod_id)

  • 说明
    停止语音点播。
  • 参数
请求参数 类型 描述
vod_id String 点播 id
  • 回调接口异步返回
    • OnStopVodSuccess(vod_id)
    • OnStopVodFail(vod_id, err_code, err_msg)

34. DownloadLog()

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

37. ChangeMediaStream()

  • 说明
    自定义切流。
  • 参数
请求参数 类型 描述
config json publish_device:必填,发布类型。
publish_bitrate:int 类型,选填,发布最大码率,默认为 600 Kbps
media_type:必填,音视频类型。
sid:必填,已发布流 id。
publish_device=1
    video_profile_type:选填,分辨率。
    videoSource:String 类型,可选,摄像头的 deviceId,用于切换指定摄像头。
    audioSource:String 类型,可选,麦克风的 deviceId,用于切换指定麦克风。
    aspectRatioStrongDepend:boolean 类型,默认为 false,是否强制指定横纵比。
    aspectRatio:String 类型,可选(aspectRatioStrongDepend=true 时必填)
        1 表示 4:3
        2 表示 16:9
file:选填,图片或视频文件,publish_device=3 时必填。
part_of_screen_id:选填,需要发布的自定义区域,publish_device=4 时必填。
  • 回调接口异步返回
    • OnChangeMediaStreamSuccess(sid)
    • OnChangeMediaStreamFailed(sid,code, msg)

38. ChangeProfile()

  • 说明
    动态切换(分辨率、摄像头麦克风、横纵比)。
  • 参数
请求参数 类型 描述
config json sid:必填,已发布流 id。
video_profile_type:选填,分辨率。
local_video_width:选填,宽度。
local_video_height:选填,高度。
videoSource:String 类型,可选,摄像头的 deviceId,用于切换指定摄像头。
audioSource:String 类型,可选,麦克风的 deviceId,用于切换指定麦克风。
aspectRatioStrongDepend:boolean 类型,默认为 false,是否强制指定横纵比。
aspectRatio:String 类型,可选(aspectRatioStrongDependtrue 时必填)。
    1 表示 4:3
    2 表示 16:9
  • 回调接口异步返回
    • OnChangeMediaStreamSuccess(sid)
    • OnChangeMediaStreamFailed(sid,code, msg)

39. GetDevices()

  • 说明
    获取设备信息。
  • 参数
    无。
  • 回调接口异步返回
    • OnGetDevicesSuccess(devicesInfo)
    • OnGetDevicesFailed(code, msg)

40. StartBrowserRecord

  • 说明
    开启浏览器录制(近端录制),指基于浏览器的 native 录制能力进行录制。目前只支持录制两条流,不支持录制点播机器人。
  • 参数
请求参数 类型 描述
clientRecordId String 浏览器录制 id
stream_list array 流 id(sid)
record_config json media_type:int 类型,录制选项
    1 表示音视频
    2 表示纯音频
    3 表示纯视频
record_type:int 类型,录制分离
    1 表示多端合并
    2 表示本地
    3 表示远端
time_slice:int 类型,录制 blob 通知间隔时间,默认为 30,单位为 min
video_profile:json 类型
    videoCodec:String 类型,视频编码格式,h264/vp8/vp9
    frameRate:int 类型,帧率
  • 回调接口异步返回
    • OnClientStartRecordSuccess(clientRecordId)
    • OnClientStartRecordFailed(clientRecordId, code, msg)

41. PauseRemoteRecord

请求参数 类型 描述
record_id String 服务端录制 id
  • 回调接口异步返回
    • OnPauseRemoteRecordSucc(record_id)
    • OnPauseRemoteRecordFailed(record_id, err_code, err_msg)

42. ResumeRemoteRecord

请求参数 类型 描述
record_id String 服务端录制 id
  • 回调接口异步返回
    • OnResumeRemoteRecordSucc(record_id)
    • OnResumeRemoteRecordFailed(record_id, err_code, err_msg)