ZegoClient.config(option),配置参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
option.appid | appid | 数值 | 必填 |
option.server | 即构服务器地址 | 字符串 | 必填 |
option.idName | 用户id | 字符串 | 必填 |
option.nickName | 用户昵称 | 字符串 | 必填 |
option.logLevel | 本地log级别 0:debug 1:info 2:warn 3:error 98:report 100:disable | 数值 | 必填 |
option.remoteLogLevel | 上报log级别 0:debug 1:info 2:warn 3:error 100:disable | 数值,默认为0 | 可选(建议上报) |
option.logUrl | 远程log服务器地址 websocket地址 | 字符串 | 可选 |
option.audienceCreateRoom | 观众是否可以创建房间 | 布尔值 | 可选 |
ZegoClient.login(roomid, role, token, success, error),登录参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
roomid | 房间id | 字符串 | 必填 |
role | 角色类型,1:主播 2:观众 | 数值 | 必填 |
token | 登录验证token | 字符串 | 必填 |
success | 成功回调函数 | function(streamList) | 必填 |
error | 失败回调函数 | function(err) | 必填 |
streamList数组中stream的对象结构
参数 | 含义 | 类型 |
---|---|---|
stream_id | 流Id | 字符串 |
anchor_id_name | 流对应的用户Id | 字符串 |
anchor_nick_name | 流对应的用户昵称 | 字符串 |
extra_info | 流附加信息 | 字符串 |
ZegoClient.loginWithAuthor(roomid, role, token,thirdToken, success, error) ,登录参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
roomid | 房间id | 字符串 | 必填 |
role | 角色类型,1:主播 2:观众 | 数值 | 必填 |
token | 登录验证token | 字符串 | 必填 |
thirdToken | 客户自定义验证token | 字符串 | 必填 |
success | 成功回调函数 | function(streamList) | 必填 |
error | 失败回调函数 | function(err) | 必填 |
streamList数组中stream的对象结构
参数 | 含义 | 类型 |
---|---|---|
stream_id | 流Id | 字符串 |
anchor_id_name | 流对应的用户Id | 字符串 |
anchor_nick_name | 流对应的用户昵称 | 字符串 |
extra_info | 流附加信息 | 字符串 |
ZegoClient.logout(),无参数;
调用之后会向Zego服务器发送登出信令,之后重置当前房间中用户与Zego服务器进行交互所需的关键数据,并置空websocket对象
ZegoClient.sendCustomCommand(dstMembers, customContent, success, error) , 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
dstMembers | 接收消息者列表 | 字符串数组 | 必填 |
customContent | 自定义消息内容 | 字符串 或 object(支持最大1024字节) | 必填 |
success | 成功回调函数 | function(seq, customContent) | 必填 |
error | 失败回调函数 | function(err, seq, customContent) | 必填 |
回调参数说明:
调用限制:
1.不能发送房间广播的自定义消息
ZegoClient.setPreferPublishSourceType(sourceType) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
sourceType | 推流地址选项 | 数值; 默认1: Zego服务器, 0:CDN | 必填 |
ZegoClient.startPublishingStream(streamid, streamParams, extraInfo) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 推流Id | 字符串 | 必填 |
streamParams | 推流参数 | 字符串,可用于推流鉴权 | 可选 |
extraInfo | 流附加信息 | 字符串 | 可选 |
ZegoClient.stopPublishingStream(streamid) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 推流Id | 字符串 | 必填 |
ZegoClient.updateStreamExtraInfo(streamid, extraInfo) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 推流Id | 字符串 | 必填 |
extraInfo | 流附加信息 | 字符串 | 必填 |
ZegoClient.setPreferPlaySourceType(souceType) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
sourceType | 拉流地址选项 | 数值; 默认0: 自动, 1:Zego服务器 | 必填 |
ZegoClient.startPlayingStream(streamid, streamParams) , 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 拉流id | 字符串 | 必填 |
streamParams | 拉流参数 | 字符串,可用于拉流鉴权 | 可选 |
ZegoClient.stopPlayingStream(streamid) , 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 流id | 字符串 | 必填 |
ZegoClient.updatePlayerState(streamId, event, type) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 流id | 字符串 | 必填 |
event | 时间 | 对象 | 必填 |
type | 类型 | 数值 0: 拉流 1: 推流 | 必填 |
ZegoClient.updatePlayerNetStatus(streamId, event, type) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
streamid | 流id | 字符串 | 必填 |
event | 时间 | 对象 | 必填 |
type | 类型 | 数值 0: 拉流 1: 推流 | 必填 |
ZegoClient.requestJoinLive(destIdName, success, error, resultCallback) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
dest_id_name | 目标用户IdName | 字符串 | 必填 |
success | 成功回调函数 | function(seq) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
resultCallback | 目标用户响应结果 | function(result, fromUserId, fromUserName) | 必填 |
ZegoClient.inviteJoinLive(destIdName, success, error, resultCallback) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
dest_id_name | 目标用户IdName | 字符串 | 必填 |
success | 成功回调函数 | function(seq) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
resultCallback | 目标用户响应结果 | function(result, fromUserId, fromUserName) | 必填 |
ZegoClient.respondJoinLive(requestId, respondResult, success, error) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
requestId | 请求Id | 字符串 | 必填 |
respondResult | 响应结果 | 布尔值 | 必填 |
success | 成功回调函数 | function(seq) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
ZegoClient.endJoinLive(destIdName, success, error) ,参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
destIdName | 目标用户IdName | 字符串 | 必填 |
success | 成功回调函数 | function(seq) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
ZegoClient.sendRoomMsg(msg_category, msg_type, msg_content, success, error) , 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
msg_category | 消息业务类型 | 数值 1:聊天消息 2:系统消息 | 必填 |
msg_type | 消息格式类型 | 数值 1:文本消息 2:图片url 3:文件url | 必填 |
msg_content | 消息内容 | 字符串 | 必填 |
success | 成功回调函数 | function(seq, msgId, msg_category, msg_type, msg_content) | 必填 |
error | 失败回调函数 | function(err, seq, msg_category, msg_type, msg_content) | 必填 |
ZegoClient.release(), 释放ZegoClient资源, 退出房间,并释放流资源, 参数无
调用之后会向Zego服务器发送登出信令,之后重置当前房间中用户与Zego服务器进行交互所需的关键数据,并置空websocket对象和销毁播放器对象
ZegoClient.setUserStateUpdate(update) (默认为false), 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
update | 是否更新 | 布尔值 | 必填 |
ZegoClient.sendReliableMessage(type, data, success, error) ,只用于大房间低频场景(如,直播答题中的题目推送),参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
type | 消息类型 | 字符串 | 必填 |
data | 消息内容 | 字符串 | 必填 |
success | 成功回调函数 | function(seq) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
参数 type 表示可靠业务消息类型,不能超过 128 字节,不允许为空字符串,一个房间内只允许不超过 1 个不同的消息类型
ZegoClient.sendRelayMessage(type, data, success, error) (如,直播答题中的观众答题),参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
type | 消息类型 | 字符串 | 必填 |
data | 消息内容 | 字符串 | 必填 |
success | 成功回调函数 | function(seq, result) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
ZegoClient.sendBigRoomMessage( msg_category,msg_type, msg_content, success, error) (如,直播答题中的观众评论),参数如下
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
msg_category | 消息分类 | 数值 1:聊天消息 2:系统消息 | 必填 |
msg_type | 消息类型 | 数值 1:文本消息 2:图片url 3:文件url | 必填 |
msg_content | 消息内容 | 字符串 | 必填 |
success | 成功回调函数 | function(seq, messageId) | 必填 |
error | 失败回调函数 | function(err, seq) | 必填 |
ZegoClient.updateMixStream(mixStreamConfig, success, error),发起(更新)混流信息
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
mixStreamConfig | 混流配置信息 | 对象 | 必填 |
success | 成功回调函数 | function(mixStreamId, mixStreamInfop[]) | 必填 |
error | 失败回调函数 | function(err, errorInfo) | 必填 |
mixStramConfig对象结构
参数 | 含义 | 类型 |
---|---|---|
outputStreamId | 混流输出流ID | 字符串 |
outputUrl | 混流输出URL | 字符串 |
outputBitrate | 混流输出码率 | 数值 (必须,且大于0) |
outputFps | 混流输出帧率 | 数值 (必须,且大于0) |
outputWidth | 混流输出宽度 | 数值 (必须,且大于0) |
outputHeight | 混流输出高度 | 数值 (必须,且大于0) |
outputAudioConfig | 混流输出音频编码 | 数值(可选,默认为0) |
outputAudioBitrate | 混流输出音频码率 | 数值 (可选) |
outputAudioChannels | 混流输出声道数 | 数值 (可选) |
outputBgColor | 混流背景颜色 | 数值 (可选) |
outputBgImage | 混流背景图片 | 字符串 (可选) |
streamList | 混流输入流列表 | 数组 (不能为空) |
extraParams | 额外参数 | 数组 (可选) |
streamList里的一个元素,即每一条输入流的对象结构如下:
参数 | 含义 | 类型 |
---|---|---|
streamId | 输入流ID | 字符串 |
top | 目标位置,上 | 数值 >=0 |
left | 目标位置,左 | 数值 >= 0 |
bottom | 目标位置,下 | 数值 >= 0 |
right | 目标位置,右 | 数值 >= 0 |
mixStreamInfo对象结构如下:
参数 | 含义 | 类型 |
---|---|---|
rtmpUrls | 混流Rtmp地址 | 数组 |
hlsUrls | 混流hls地址 | 数组 |
flvUrls | 混流flv地址 | 数组 |
extraParams里的一个元素,即每一个对象是K-V 结构:
参数 | 含义 | 类型 |
---|---|---|
key | 参数类型 | 字符串 |
value | 参数的值 | 字符串 |
ZegoClient.stopMixStream(mixStreamConfig, success, error)
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
mixStreamConfig | 混流配置信息 | 对象 | 必填 |
success | 成功回调函数 | function() | 必填 |
error | 失败回调函数 | function(err) | 必填 |
mixStramConfig对象结构
参数 | 含义 | 类型 |
---|---|---|
outputStreamId | 混流输出流ID | 字符串 |
outputUrl | 混流输出URL | 字符串 |
ZegoClient.startPlayingMixStream(mixStreamId, streamParams) , 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
mixStreamId | 混流id | 字符串 | 必填 |
streamParams | 混流参数 | 字符串,可用于拉流鉴权 | 可选 |
ZegoClient.stopPlayingMixStream(mixStreamId) , 参数如下:
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
mixStreamId | 混流id | 字符串 | 必填 |
ZegoClient.publishTarget(cdnPublishConfig, success, error)
参数 | 含义 | 类型 | 是否必填 |
---|---|---|---|
cdnPublishConfig | CDN转推配置 | 对象 | 必填 |
success | 成功回调 | function | 选填 |
error | 失败回调 | function | 选填 |
cdnPublishConfig对象结构
参数 | 含义 | 类型 |
---|---|---|
streamId | 需要转推CDN的流ID | 字符串 |
type | 转推方式 | 字符串 |
appSecret | 联系技术支持获取 | 字符串 |
pushUrl | 转推CDN地址 | 字符串 |
ZegoClient.onDisconnect = function(err) {
//处理回调逻辑.....
}
ZegoClient.onDisconnect(err) , 参数如下:
参数 | 含义 | 类型 |
---|---|---|
err.code | 错误码 | 字符串 |
err.msg | 错误信息 | 字符串 |
ZegoClient.onKickOut(err) , 参数如下:
参数 | 含义 | 类型 |
---|---|---|
err.code | 错误码 | 字符串 |
err.msg | 错误信息 | 字符串 |
ZegoClient.onGetAnchorInfo(anchor_userid, anchro_username) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
anchor_userid | 主播id | 字符串 |
anchor_username | 主播昵称 | 字符串 |
ZegoClient.onRecvCustomCommand(from_userid, from_idname, custom_content) , 参数如下:
参数 | 含义 | 类型 |
---|---|---|
from_userid | 服务器用户唯一id | 字符串 |
from_idname | 用户id | 字符串 |
custom_content | 自定义命令消息 | 字符串 |
ZegoClient.onStreamUpdated(type, streamList) , 参数如下:
参数 | 含义 | 类型 |
---|---|---|
type | 变更类型 | 数值,0:添加, 1:删除 |
streamList | 变更流列表 | 对象数组 |
流信息对象结构:
参数 | 含义 | 类型 |
---|---|---|
stream_id | 流Id | 字符串 |
anchor_id_name | 流对应的用户Id | 字符串 |
anchor_nick_name | 流对应的用户昵称 | 字符串 |
extra_info | 流附加信息 | 字符串 |
ZegoClient.onStreamExtraInfoUpdated(streamList) ,(不包含增加,删除), 参数如下:
参数 | 含义 | 类型 |
---|---|---|
streamList | 变更流列表 | 对象数组 |
流信息对象结构:
参数 | 含义 | 类型 |
---|---|---|
stream_id | 流Id | 字符串 |
anchor_id_name | 流对应的用户Id | 字符串 |
anchor_nick_name | 流对应的用户昵称 | 字符串 |
extra_info | 流附加信息 | 字符串 |
ZegoClient.onRecvRoomMsg(chat_data, server_msg_id, ret_msg_id) , 参数如下:
参数 | 含义 | 类型 |
---|---|---|
chat_data | 消息内容 | 数组 |
server_msg_id | 服务器最新消息id | 数值 |
ret_msg_id | 当前推送消息id | 数值 |
chat_data对象结构:
参数 | 含义 | 类型 |
---|---|---|
id_name | 用户Id | 字符串 |
nick_name | 用户昵称 | 字符串 |
role | 用户角色 | 数值 |
msg_id | 消息Id | 数值 |
msg_category | 消息类别 | 数值 |
msg_type | 消息类型 | 数值 |
msg_content | 消息内容 | 字符串 |
send_time | 发送时间 | 数值 |
ZegoClient.onStreamUrlUpdate(streamId, url, type) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
streamId | 流id | 字符串 |
url | rtmp地址 | 字符串 |
type | 推拉流 | 数值 0: 拉流 1: 推流 |
ZegoClient.onPlayStateUpdate(type, streamId, error) , 参数如下:
参数 | 含义 | 类型 |
---|---|---|
type | 流状态类型 | 数值 start:0, stop:1, retry:2 |
streamId | 流id | 字符串 |
error | 错误码 | 数值 |
ZegoClient.onPlayQualityUpdate(streamId, streamQuality) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
streamId | 流Id | 字符串 |
streamQuality | 流质量 | 对象 |
streamQuality对象结构:
参数 | 含义 | 类型 |
---|---|---|
videoBitrate | 视频码率 | 数值 |
audioBitrate | 音频码率 | 数值 |
videoFPS | 视频编码帧率 | 数值 |
ZegoClient.onPublishStateUpdate(type, streamId, error) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
type | 流状态类型 | 数值 start:0, stop:1, retry:2 |
streamId | 流id | 字符串 |
error | 错误码 | 数值 |
ZegoClient.onPublishQualityUpdate(streamId, streamQuality) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
streamId | 流Id | 字符串 |
streamQuality | 流质量 | 对象 |
streamQuality对象结构:
参数 | 含义 | 类型 |
---|---|---|
videoBitrate | 视频码率 | 数值 |
audioBitrate | 音频码率 | 数值 |
videoFPS | 视频编码帧率 | 数值 |
ZegoClient.onUserStateUpdate(roomId, userList) ,设置setUserStateUpdate为true时回调。参数如下:
参数 | 含义 | 类型 |
---|---|---|
roomId | 房间Id | 字符串 |
userList | 成员列表 | 对象数组 |
成员对象结构:
参数 | 含义 | 类型 |
---|---|---|
action | 行为 | 数值 1:进入房间 2:退出房间 |
idName | 用户id | 字符串 |
nickName | 用户昵称 | 字符串 |
role | 角色类型 | 数值 1:主播 2:观众 |
loginTime | 登录时间 | 字符串 |
ZegoClient.onGetTotalUserList(roomId, userList) ,设置setUserStateUpdate为true时回调。参数如下:
参数 | 含义 | 类型 |
---|---|---|
roomId | 房间Id | 字符串 |
userList | 成员列表 | 对象数组 |
成员对象结构:
参数 | 含义 | 类型 |
---|---|---|
idName | 用户id | 字符串 |
nickName | 用户昵称 | 字符串 |
role | 角色类型 | 数值 1:主播 2:观众 |
ZegoClient.onRecvJoinLiveRequest(requestId, from_userid, from_username, roomid) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
requestId | 请求Id | 字符串 |
from_userid | 请求者userId | 字符串 |
from_username | 请求者userName | 字符串 |
roomid | 房间id | 字符串 |
ZegoClient.onRecvInviteJoinLiveRequest(requestId, from_userid, from_username, roomid) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
requestId | 请求Id | 字符串 |
from_userid | 邀请者userId | 字符串 |
from_username | 邀请者userName | 字符串 |
roomid | 房间id | 字符串 |
ZegoClient.onRecvEndJoinLiveCommand(requestId, from_userid, from_username, roomid) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
requestId | 请求Id | 字符串 |
from_userid | 连麦者userId | 字符串 |
from_username | 连麦者userName | 字符串 |
roomid | 房间id | 字符串 |
ZegoClient.onRecvReliableMessage(type, seq, data) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
type | 消息类型 | 字符串 |
seq | 消息序列号 | 数值 |
data | 消息内容 | 字符串 |
ZegoClient.onRecvBigRoomMessage(messageList, roomId) ,参数如下:
参数 | 含义 | 类型 |
---|---|---|
messageList | 消息列表 | 对象数组 |
roomId | 房间ID | 字符串 |
消息结构如下
参数 | 含义 | 类型 |
---|---|---|
idName | 用户ID | 字符串 |
nickName | 用户昵称 | 字符串 |
messageId | 消息ID | 字符串 |
category | 消息分类 | 数值 |
type | 消息类型 | 数值 |
content | 消息内容 | 字符串 |
time | 发送消息时间 | 数值 |
ZegoClient.onUpdateOnlineCount(roomId, userCount)
参数 | 含义 | 类型 |
---|---|---|
roomId | 房间ID | 字符串 |
userCount | 在线人数 | 数值 |
ZegoClient.isSupportLive(sucCall, errCall);
sucCall(res)参数返回结果对象,参数如下;
参数 | 含义 | 类型 |
---|---|---|
res.code | 状态码 | 数值 |
res.msg | 返回信息 | 字符串 |
该方法为静态方法,不需要先初始化ZegoClient对象
状态码有以下类型:
状态码 | 含义 |
---|---|
10001 | 当前微信版本过低,无法使用相关组件 |
10002 | 需要摄像头和录音功能的授权 |
ZegoClient.getCurrentVersion()
该方法为静态方法,不需要先初始化ZegoClient对象
小程序sdk本质上只提供了即构实时音视频及信令等服务,在客户端播放拉流和推流,都是需要依赖微信小程序提供的
, 原生组件;开发者可以选择自己灵活整合两者之间的功能,同时即构也提供了将两者组合后的组件<live-room>,<rtc-room>
主要是应用场景不一样: live-room适用与单主播推流场景,默认观众从CDN拉流,推流mode为live模式;优先保证高质量音视频输出,低延迟优先级靠后 rtc-room适用于多主播场景,优先从服务器拉流,优先保证低延迟
live-room连麦时,自动切换城rtc模式,此时live-room和rtc-room两者之间没有区别
属性 | 类型 | 值 | 说明 | 必填 |
---|---|---|---|---|
role | string | 'audience','anchor' | 角色 | true |
roomid | string | 数字或字母组成的任意字符串 | 房间id | true |
roomname | string | 任意字符串 | 房间名称 | false |
debug | boolean | 默认false | --- | false |
template | string | 可自定义 | 模版 | false |
beauty | number | 默认5 | 美颜指数0~9 | false |
muted | boolean | 默认false | 是否静音 | false |
pureaudio | boolean | 默认false | 纯音频 | false |
pushstreamid | string | 任意字符串 | 同一房间推流id不能重复 | - |
方法名 | 说明 |
---|---|
config | 同sdk用法 |
start | 登录房间 |
stop | 退出房间 |
更多... | 自定义 |
组件以示例代码形式,存储在即构的 github 仓库上,组件代码放在 components 文件夹下;更多用法请下载参考示例代码。
组件默认提供了常见的‘1v1’,‘1v3’,‘vertical1v3’,'wrap'视频排列格式,若不满足需求,可以拷贝任意一个 template,修改其中的 wxss 样式。
错误码 | 含义 |
---|---|
ZegoClient.Success | 成功 |
ZegoClient.Error.Param | 参数错误 |
ZegoClient.Error.Timeout | 超时 |
ZegoClient.Error.Network | 网络错误 |
ZegoClient.Error.Kickout | 用户被踢 |
ZegoClient.Error.Server | 服务返回错误 |
ZegoClient.Error.Unknown | 未知错误 |
联系我们
文档反馈