ChuangLiveEngine

ChuangLiveEngine

互动直播SDK全局静态对象,所有方法和常量都可以从ChuangLiveEngine对象中获取。

Members

(static, readonly) ChuangUserRole :number

用户身份枚举
Properties:
Name Type Description
ANCHOR number 主播身份,不会收到'RoomStreamUpdate'事件
AUDIENCE number 观众身份
INTER_ACTION number 直播互动
Type:
  • number
Example
let role = ChuangLiveEngine.ChuangUserRole.ANCHOR;

(static, readonly) ChuangStreamMode :number

流模式:流模式只能在推流前设置,推流后只能通过设置live-pusher的mute属性值来关闭音频和视频
Properties:
Name Type Description
BOTH number 音视频
AUDIO number 纯音频
VIDEO number 纯视频
Type:
  • number
Example
let streamstat = ChuangLiveEngine.ChuangStreamMode.BOTH;

(static, readonly) ChuangRoomState :number

房间状态枚举
Properties:
Name Type Description
DISCONNECTED number 未登录、登录失败、退出登录、房间断开
CONNECTING number 连接中
CONNECTED number 重连成功、登录成功
Type:
  • number
Example
let roomState = ChuangLiveEngine.ChuangRoomState.CONNECTING //连接中

(static, readonly) ChuangEvent :string

房间事件枚举,注:这里直接使用字符串即可
Properties:
Name Type Description
'RoomStateUpdate' string 房间状态发生变化时触发的回调, 回调参数包含房间ID, 房间状态ChuangLiveEngine.ChuangRoomState和错误码ChuangLiveEngine.ChuangErrorCode
'RoomStreamUpdate' string 房间流变化时触发的回调,回调参数包房间ID, 流更新类型 ChuangLiveEngine.ChuangStreamUpdateType 和流信息Array<ChuangStreamInfo>列表
'PublishStreamStateUpdate', string 推流的状态发生变化时触发的回调, 回调参数包含流ID、推流状态ChuangLiveEngine.ChuangPublishState和错误码ChuangLiveEngine.ChuangErrorCode
'PlayStreamStateUpdate', string 播流的状态发生变化时触发的回调, 回调参数包含流ID、播流状态和错误码ChuangLiveEngine.ChuangErrorCode
'sdk-error' string 内部异常,回调参数是一个number,值参考ChuangLiveEngine.ChuangErrorCode 对象
Type:
  • string
Example
ChuangLiveEngine.on("room-login", function (roomId) {
});

(static, readonly) ChuangErrorCode :number

错误码枚举
Properties:
Name Type Description
0 number 操作成功
10001 number sdk未初始化,就调用非静态方法
10002 number appId传空
10003 number appId包含非法字符
50002 number appKey传空
10003 number appKey包含非法字符
10008 number 参数错误
10009 number 操作与角色不符
11001 number 用户ID为空
11002 number 用户ID过长,长度应小于256字节,最长为255字节
11003 number 用户ID非法
11004 number 房间ID为空
11005 number 房间ID过长,长度应小于256字节,最长为255字节
11006 number 房间ID非法
11007 number token 校验出错,可能是token过期或者token传错
11008 number token 校验失败,可能是网络异常导致校验超时
11009 number 登录失败,一般是AppId/AppKey错误导致
11010 number 由于被封禁导致登录失败
11011 number 其他原因导致登录失败
11012 number 网络原因导致与房间连接断开
11013 number 参数错误导致登录失败,login.ack中errcode为-202时
11014 number 房间重连成功
12001 number 流ID 为空
12002 number 流ID过长,长度应小于256字节,最长为255字节
12003 number 流ID包含非法字符
12007 number 流ID已经存在
50004 number 未登录房间或登录房间未成功,调用推流、拉流前必须登录房间成功
12012 number 推流ID非法,可能已经被占用,authpublish失败时回调
12013 number 网络原因导致推流或播流中断重连
12025 number 推流重连成功
12026 number 播流重连成功
100009 number 推流时已经推过主流或副流
100011 number 未知异常,可能是用户代码异常
100012 number 信令错误,状态机过程出现
Type:
  • number

(static, readonly) ChuangPublishState :number

推流状态枚举
Properties:
Name Type Description
DISCONNECTED number 未推流、推流失败、停推成功、推流断开
CONNECTING number 流服务器连接中
CONNECTED number 推流成功、推流重连成功
Type:
  • number

(static, readonly) ChuangPlayState :number

播流状态枚举
Properties:
Name Type Description
DISCONNECTED number 未播流、播流失败、停播成功、播流断开
CONNECTING number 服务器连接中
CONNECTED number 播流成功、播流重连成功
Type:
  • number

(static, readonly) ChuangStreamUpdateType :string

流列表更新类型
Properties:
Name Type Description
ADD string 有流进入
DELETE string 有流离开
Type:
  • string

Methods

(static) initEngine(appId, appKey, onFailure) → {boolean}

SDK初始化
Parameters:
Name Type Description
appId string 向系统申请的应用ID,必须
appKey string 向系统申请的应用key,必须
onFailure failCallback 回调:SDK初始化失败
Returns:
Type:
boolean
是否成功
Example
ChuangLiveEngine.initEngine("your_app_id","your_app_key");

(static) uninitEngine()

SDK对象销毁

(static) setRole(role)

设置用户角色
Parameters:
Name Type Description
role ChuangLiveEngine.ChuangUserRole 用户角色

(static) on(eventType, callback)

注册SDK回调事件
Parameters:
Name Type Description
eventType ChuangLiveEngine.ChuangEvent 事件类型
callback function 回调:不同事件回调时的参数不同,请参考ChuangLiveEngine.ChuangEvent的描述

(static) off(eventType, callback)

注销SDK回调事件
Parameters:
Name Type Description
eventType ChuangLiveEngine.ChuangEvent 事件类型
callback function 回调:on时传入的回调,如果不传则注销这一事件所有的回调

(static) getPreRoomState()

获取房间初始状态

(static) getRoomConnectState() → {string}

获取房间连接状态
Returns:
Type:
string
房间连接状态

(static) loginRoom(roomId, userId, userRole, onFailure)

登录房间
Parameters:
Name Type Description
roomId string 房间名,限制字母、数字和汉字,appid内唯一
userId string 用户ID,限制字母和数字,appid内唯一
userRole ChuangLiveEngine.ChuangUserRole 用户身份枚举
onFailure failCallback 回调:登录房间失败

(static) logoutRoom(onFailure)

登出房间
Parameters:
Name Type Description
onFailure failCallback 回调:登出房间失败

(static) newStreamConfig(streamstat) → {ChuangStreamConfig}

创建一个MediaConfig 类的示例,用于帮助配置发布流对应的媒体参数
Parameters:
Name Type Description
streamstat ChuangLiveEngine.ChuangStreamMode 流类型,可以设置为音视频,纯音频和纯视频流
Returns:
Type:
ChuangStreamConfig

(static) startPublishStream(streamId, domId, streamConfig, onFailure)

播放本地流并发布
Parameters:
Name Type Description
streamId string 流ID,限制字母和数字,appid内唯一
domId string 页面用于承载video的html节点的id
streamConfig ChuangVideoConfig 媒体配置参数
onFailure failCallback 回调:播放本地流并发布失败

(static) sendStartPublishSignal(streamId, onFailure)

发送推流成功信令消息
Parameters:
Name Type Description
streamId string
onFailure failCallback

(static) sendStartPlaySingal(streamId, onFailure)

发送播流成功信令消息
Parameters:
Name Type Description
streamId string
onFailure failCallback

(static) playNextConn(streamId, code, onFailure)

播流重连
Parameters:
Name Type Description
streamId string
code number
onFailure failCallback

(static) pushNextConn(streamId, code, onFailure)

推流重连
Parameters:
Name Type Description
streamId string
code number
onFailure failCallback

(static) stopPublishStream(streamId, onFailure)

结束本地流的发布
Parameters:
Name Type Description
streamId string 流ID,对应发布流的ID
onFailure failCallback 回调:结束本地流发布失败

(static) startPlayStream(streamId, canvas, onFailure)

播放远端流
Parameters:
Name Type Description
streamId string 远端流的ID
canvas ChuangVideoCanvas 用于播放的容器,包含:domId 页面用于承载video的html节点的id; options 播放器默认属性
onFailure failCallback 回调:播放远端流失败

(static) stopPlayStream(streamId, onFailure)

停止播放远端流
Parameters:
Name Type Description
streamId string 远端流的ID
onFailure failCallback 回调:停止播放远端流失败

(static) statusNotification(streamId, code, params)

通知核心层事件,主要用于埋点上报
Parameters:
Name Type Description
streamId string 流的ID
code number 状态码,主要为live-pusher和live-player的状态码
params ChuangStreamStatus 流相关参数

(static) getSDKVersion()

获取当前SDK的版本+打包时间