更新时间: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 连接已经关闭 |