更新时间:2020-12-26
请求接口
初始化配置
let octopusRTCWX = new OctopusRTCWX(option)
参数 | 含义 | 类型 | 必填 |
---|
appId | appId | String | 是 |
userId | 用户 id | String | 是 |
userName | 用户名 | String | 否 |
env | 环境 test production | String | 否(默认 production) |
mediaType | 加入方式 0:音视频 1:音频 | Number | 否(默认音视频) |
初始化
登录房间
octopusRTCWX.login(roomId,role,token,success,error)
参数 | 含义 | 类型 | 必填 |
---|
roomId | 房间 id | String | 是 |
role | 角色类型 1:主播 2:观众 | Number | 是 |
token | 登录验证 | String | 是 |
success | 成功回调函数 | function(streamList) | 是 |
error | 失败回调函数 | function(err) | 是 |
streamList
数组中 stream
对象结构
参数 | 含义 | 类型 |
---|
streamId | 流 id | String |
userId | 流对应的用户 id | String |
roomId | 房间号 | String |
登出房间
调用之后会向 OctopusRTCWX
服务器发送登出信令
开始推流
octopusRTCWX.startPublishingStream(streamId)
参数 | 含义 | 类型 | 必填 |
---|
streamId | 推流 id | Sting | 是 |
结束推流
octopusRTCWX.stopPublishingStream(streamId)
参数 | 含义 | 类型 | 必填 |
---|
streamId | 流 id | String | 是 |
开始播放流
octopusRTCWX.startPlayingStream(streamId)
参数 | 含义 | 类型 | 必填 |
---|
streamId | 拉流 id | String | 是 |
停止播放流
octopusRTCWX.stopPlayingStream(streamid)
参数 | 含义 | 类型 | 必填 |
---|
streamId | 流 id | String | 是 |
播放状态
octopusRTCWX.updatePlayerState(streamId, event, type)
参数 | 含义 | 类型 | 必填 |
---|
streamId | 流 id | sting | 是 |
event | 事件 | Object | 是 |
type | 类型 0: 拉流 1: 推流 | Number | 是 |
- 在小程序
livePlayer
和 livePusher
组件中设置 bindstatechange
属性,小程序回调的事件完全透传给 SDK
- SDK 底层会根据
event
进行流状态更新,必须回调给 SDK
网络状态通知事件
octopusRTCWX.updatePlayerNetStatus(streamId, event, type)
参数 | 含义 | 类型 | 必填 |
---|
streamId | 流 id | String | 是 |
event | 事件 | Object | 是 |
type | 类型 0: 拉流 1: 推流 | Number | 是 |
- 在小程序
livePlayer
和 livePusher
组件中设置 bindnetstatus
属性,小程序回调的事件完全透传给 SDK
- SDK 底层会根据
event
进行流状态更新,必须回调给 SDK
重新加入
- 在
wx.onNetworkStatusChange
的事件中, 判断网络状态, 如果网络是断网又恢复的状态,需要调用 restart
函数
销毁
回调接口
房间连接断开通知
octopusRTCWX.onDisconnect(err)
参数 | 含义 | 类型 |
---|
err.code | 错误码 | Number |
err.msg | 错误信息 | String |
被踢下线通知
octopusRTCWX.onKickOut(err)
参数 | 含义 | 类型 |
---|
err.code | 错误码 | Number |
err.msg | 错误信息 | String |
流更新通知
octopusRTCWX.onStreamUpdated(type, streamList)
参数 | 含义 | 类型 |
---|
type | 变更类型 0:添加,1:删除 | Number |
streamList | 变更流列表 | Array |
流信息对象结构
参数 | 含义 | 类型 |
---|
streamId | 流 id | String |
userId | 流对应的用户 id | String |
roomId | 房间号 | String |
获取推拉流的 Rtmp 地址
octopusRTCWX.onStreamUrlUpdate(streamId, url, type)
参数 | 含义 | 类型 |
---|
streamId | 流 id | String |
url | rtmp 地址 | String |
type | 推拉流 | Number 0: 拉流 1: 推流 |
- 收到此回调后需要更新小程序
livePlayer
和 live-pusher
组件的 src
属性
- 根据
type
类型调用小程序接口启动推流或拉流
- 不更新 src 属性会导致小程序无法推拉流
拉流状态变更通知
octopusRTCWX.onPlayStateUpdate(type, userId, codeNum)
参数 | 含义 | 类型 |
---|
type | 流状态类型 1: 拉流超时 2 : 需要重新拉流 | Number |
userId | 流对应的用户 id | String |
codeNum | 状态码 | String |
状态码
codeNum | 含义 |
---|
-2301 | 网络断连,且经多次重连抢救无效,更多重试请自行重启播放 |
500001 | 发送信令超时 |
推流状态变更通知
octopusRTCWX.onPublishStateUpdate(type, userId, codeNum)
参数 | 含义 | 类型 |
---|
type | 流状态类型 0 :连接成功 1: 推流超时 2 :需要重新推流 | Number |
userId | 流对应的用户 id | String |
codeNum | 状态码 | Number |
状态码
codeNum | 含义 |
---|
1002 | 已经与服务器握手完毕,开始推流 |
500001 | 发送信令超时 |
-1307 | 网络断连,且经多次重连抢救无效,更多重试请自行重启推流 |
工具方法
获取 roomId userId userName
octopusRTCWX.roomId()
octopusRTCWX.userId()
octopusRTCWX.userName()
错误码列表
错误码 | 描述 |
---|
500002 | 用户被踢掉 |
500000 | ws 连接已经关闭 |