更新时间:2020-12-09 16:27
请求参数 | 类型 | 描述 |
---|---|---|
config_param |
{} | config_param 是一个结构体, 里面包含如下字段:
|
OnConnectOK()
OnConnectFailed(err_code, err_msg)
Disconnect()
接口,如果正处于通话阶段,会触发关闭发布和订阅的流,并离开房间。即:关闭房间所有流 > 离开房间 > 断开信令连接。OnConnectClose()
说明
初始化房间。
请求参数 | 类型 | 描述 |
---|---|---|
config_param | {} | auto_publish_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 类型,非必填(直播模式必填)。
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 = [ 若 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 = [ 若 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 = [ initSubscribe:Array 类型,订阅参数。 subscribe_video_id:必填,订阅视频控制标签,用于展示视频流。 subscribe_audio_id:必填,用于展示订阅音频流 feedId_id:必填,label 标签,用于展示 feedId。 subscribe_streamId_id:必填,label 标签,用于展示 streamId。 例如: initSubscribe = [ |
bizName | String | 业务名 |
subBiz | String | 子业务 |
uid | String | 用户 ID |
回调接口异步返回
OnInitRoomConfigOK()
OnInitRoomConfigFail(err_code, err_msg)
OnCreateRoomSucc(room_id, rtoken)
OnCreateRoomFailed()
请求参数 | 类型 | 描述 |
---|---|---|
room_id |
String | 房间 ID |
rtoken |
String | 房间 token,相当于房间密码 |
engine |
int | 0 表示 alipay,为默认值 1 表示 aliyun |
OnJoinRoomSucc()
OnJoinRoomFailed(err_code, err_msg)
请求参数 | 类型 | 描述 |
---|---|---|
invitee |
String | 被邀请方 uid |
channelType |
int | 推送渠道 0 表示 WEB 1 表示 ALIPAY |
extra |
String | 业务透传字段 |
OnInviteOK()
OnInviteFail(err_code, err_msg)
请求参数 | 类型 | 描述 |
---|---|---|
roomId |
String | 房间 ID |
inviter |
String | 邀请方 uid |
reply |
int | 0 表示接听 2 表示拒绝 |
OnReplyInviteOK()
OnReplyInviteFail(err_code, err_msg)
OnLeaveRoom()
请求参数 | 类型 | 描述 |
---|---|---|
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)
请求参数 | 类型 | 描述 |
---|---|---|
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)
请求参数 | 类型 | 描述 |
---|---|---|
enabled |
int | 1 表示开 0 表示关 |
sid |
int | 流 id |
请求参数 | 类型 | 描述 |
---|---|---|
enabled |
int | 1 表示开 0 表示关 |
sid |
int | 流 id |
请求参数 | 类型 | 描述 |
---|---|---|
type |
String | H264 VP8 |
请求参数 | 类型 | 描述 |
---|---|---|
type |
String | all tcp udp |
请求参数 | 类型 | 描述 |
---|---|---|
type |
int | 0 表示截取本地端 1 表示截取远端图像 |
width |
int | 图像宽度 |
height |
int | 图像高度 |
sid |
int | 流 id |
picture_type |
int | 输出图片格式: 1 表示 png 2 表示 jpeg/jpg |
请求参数 | 类型 | 描述 |
---|---|---|
clientRecordId |
String | 浏览器录制 id |
OnClientStopRecordSuccess(videoURL, clientRecordBlob, clientRecordId)
OnClientStopRecordFailed(clientRecordId, code, msg)
请求参数 | 类型 | 描述 |
---|---|---|
clientRecordId |
String | 浏览器录制 id |
OnClientPauseRecordSuccess(clientRecordId)
OnClientPauseRecordFailed(clientRecordId, code, msg)
请求参数 | 类型 | 描述 |
---|---|---|
clientRecordId |
String | 浏览器录制 id |
OnClientResumeRecordSuccess(clientRecordId)
OnClientResumeRecordFailed(clientRecordId, code, msg)
请求参数 | 类型 | 描述 |
---|---|---|
clientRecordId |
String | 浏览器录制 id |
fileName |
String | 指定文件名 |
OnClientDownloadRecordSuccess(clientRecordId)
OnClientDownloadRecordFailed(clientRecordId, code, msg)
请求参数 | 类型 | 描述 |
---|---|---|
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)
:服务端录制启动失败。请求参数 | 类型 | 描述 |
---|---|---|
record_id |
String | 服务端录制 id |
OnStopRecordSucc(recordId)
OnStopRecordFailed(recordId,err_code, err_msg)
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)
请求参数 | 类型 | 描述 |
---|---|---|
sid |
int | 流 id |
OnUnPublishSucc(sid)
请求参数 | 类型 | 描述 |
---|---|---|
sid |
int | 流 id |
OnUnSubscribeSucc(sid)
请求参数 | 类型 | 描述 |
---|---|---|
msg |
String | 消息文本 |
participants |
Array | 发送目标 id(为空则发给与会其他所有人) |
请求参数 | 类型 | 描述 |
---|---|---|
weak_bitrate |
int | 发布弱网码率告警下限: 音频 + 视频:默认为 200 单独音频:默认为 20-25 |
请求参数 | 类型 | 描述 |
---|---|---|
weak_bitrate |
int | 订阅弱网码率告警下限 弱网码率告警下限 音频+视频:默认为 200 单独音频:默认为 20-25 |
请求参数 | 类型 | 描述 |
---|---|---|
vodParams |
json | vodFile :点播文件名vodStartTimeout :开启点播超时时间(单位为秒,默认为 5s) |
OnStartVodSuccess(file, vod_id)
OnStartVodFail(file, vod_id, err_code, err_msg)
请求参数 | 类型 | 描述 |
---|---|---|
vod_id |
String | 点播 id |
OnStopVodSuccess(vod_id)
OnStopVodFail(vod_id, err_code, err_msg)
请求参数 | 类型 | 描述 |
---|---|---|
config |
json | publish_device :必填,发布类型。publish_bitrate :int 类型,选填,发布最大码率,默认为 600 Kbpsmedia_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)
请求参数 | 类型 | 描述 |
---|---|---|
config |
json | sid :必填,已发布流 id。video_profile_type :选填,分辨率。local_video_width :选填,宽度。local_video_height :选填,高度。videoSource :String 类型,可选,摄像头的 deviceId,用于切换指定摄像头。audioSource :String 类型,可选,麦克风的 deviceId,用于切换指定麦克风。aspectRatioStrongDepend :boolean 类型,默认为 false,是否强制指定横纵比。aspectRatio :String 类型,可选(aspectRatioStrongDepend 为 true 时必填)。1 表示 4:3 2 表示 16:9 |
OnChangeMediaStreamSuccess(sid)
OnChangeMediaStreamFailed(sid,code, msg)
OnGetDevicesSuccess(devicesInfo)
OnGetDevicesFailed(code, msg)
请求参数 | 类型 | 描述 |
---|---|---|
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,单位为 minvideo_profile :json 类型videoCodec :String 类型,视频编码格式,h264/vp8/vp9frameRate :int 类型,帧率 |
OnClientStartRecordSuccess(clientRecordId)
OnClientStartRecordFailed(clientRecordId, code, msg)
请求参数 | 类型 | 描述 |
---|---|---|
record_id |
String | 服务端录制 id |
OnPauseRemoteRecordSucc(record_id)
OnPauseRemoteRecordFailed(record_id, err_code, err_msg)
请求参数 | 类型 | 描述 |
---|---|---|
record_id |
String | 服务端录制 id |
OnResumeRemoteRecordSucc(record_id)
OnResumeRemoteRecordFailed(record_id, err_code, err_msg)
在文档使用中是否遇到以下问题
更多建议
匿名提交