秀场直播

小程序 SDK API 文档

更新时间:2020-12-26

请求接口

初始化配置

let octopusRTCWX = new OctopusRTCWX(option)
  • option: Object
参数含义类型必填
appIdappIdString
userId用户 idString
userName用户名String
env环境 test productionString否(默认 production)
mediaType加入方式 0:音视频 1:音频Number否(默认音视频)

初始化

octopusRTCWX.init()

登录房间

octopusRTCWX.login(roomId,role,token,success,error)
参数含义类型必填
roomId房间 idString
role角色类型 1:主播 2:观众Number
token登录验证String
success成功回调函数function(streamList)
error失败回调函数function(err)

streamList 数组中 stream 对象结构

参数含义类型
streamId流 idString
userId流对应的用户 idString
roomId房间号String

登出房间

octopusRTCWX.logout()

调用之后会向 OctopusRTCWX 服务器发送登出信令

开始推流

octopusRTCWX.startPublishingStream(streamId)
参数含义类型必填
streamId推流 idSting

结束推流

octopusRTCWX.stopPublishingStream(streamId)
参数含义类型必填
streamId流 idString

开始播放流

octopusRTCWX.startPlayingStream(streamId) 
参数含义类型必填
streamId拉流 idString

停止播放流

octopusRTCWX.stopPlayingStream(streamid) 
参数含义类型必填
streamId流 idString

播放状态

octopusRTCWX.updatePlayerState(streamId, event, type)
参数含义类型必填
streamId流 idsting
event事件Object
type类型 0: 拉流 1: 推流Number
  • 在小程序 livePlayerlivePusher 组件中设置 bindstatechange 属性,小程序回调的事件完全透传给 SDK
  • SDK 底层会根据 event 进行流状态更新,必须回调给 SDK

网络状态通知事件

octopusRTCWX.updatePlayerNetStatus(streamId, event, type)
参数含义类型必填
streamId流 idString
event事件Object
type类型 0: 拉流 1: 推流Number
  • 在小程序 livePlayerlivePusher 组件中设置 bindnetstatus 属性,小程序回调的事件完全透传给 SDK
  • SDK 底层会根据 event 进行流状态更新,必须回调给 SDK

重新加入

octopusRTCWX.restart()
  • wx.onNetworkStatusChange 的事件中, 判断网络状态, 如果网络是断网又恢复的状态,需要调用 restart 函数

销毁

octopusRTCWX.destory()

回调接口

房间连接断开通知

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流 idString
userId流对应的用户 idString
roomId房间号String

获取推拉流的 Rtmp 地址

octopusRTCWX.onStreamUrlUpdate(streamId, url, type)
参数含义类型
streamId流 idString
urlrtmp 地址String
type推拉流Number 0: 拉流 1: 推流
  • 收到此回调后需要更新小程序 livePlayerlive-pusher 组件的 src 属性
  • 根据 type 类型调用小程序接口启动推流或拉流
  • 不更新 src 属性会导致小程序无法推拉流

拉流状态变更通知

octopusRTCWX.onPlayStateUpdate(type, userId, codeNum)
参数含义类型
type流状态类型 1: 拉流超时 2 : 需要重新拉流Number
userId流对应的用户 idString
codeNum状态码String

状态码

codeNum含义
-2301网络断连,且经多次重连抢救无效,更多重试请自行重启播放
500001发送信令超时

推流状态变更通知

octopusRTCWX.onPublishStateUpdate(type, userId, codeNum)
参数含义类型
type流状态类型 0 :连接成功 1: 推流超时 2 :需要重新推流Number
userId流对应的用户 idString
codeNum状态码Number

状态码

codeNum含义
1002已经与服务器握手完毕,开始推流
500001发送信令超时
-1307网络断连,且经多次重连抢救无效,更多重试请自行重启推流

工具方法

获取 roomId userId userName

octopusRTCWX.roomId()
octopusRTCWX.userId()
octopusRTCWX.userName()

错误码列表

错误码描述
500002用户被踢掉
500000ws 连接已经关闭