播流

登录房间成功后,会收到房间内的除自己以外的推流数据, 通过调用播流接口, 可以播放房间内存在的远端流。

步骤

1、 播/停播流时机

1.1 房间流状态变化回调

登录房间成功以后, 当房间内有流进入房间和离开房间时, 会触发on('RoomStreamUpdate', function(roomId, type, streamList){})回调方法,获此时APP层可在回调方法中处理新增流/离开流, 比如分配新的/移除播放容器live-player, 并调用开始/停止播流方法开始/停止播流。

/*
 @description 房间流状态变化回调 
 @param roomId 房间ID
 @param type 房间流改变类型
 @param streamList 流列表
 */
ChuangLiveEngine.on(on('RoomStreamUpdate', function(roomId, type, streamList){}))

2、 播流

2.1 开始播流方法

当收到上述1.1回调有流进入房间时, 需要主动调用startPlayStream (streamId, onFailure)播流方法获取播流地址,并在UI上添加播流组件,然后调用组件的start()方法实现远端流的播放。

ChuangLiveEngine.startPlayStream (streamId, onFailure);

注意:必须登录成功, 才能进行播流, 否则播流无效。

方法参数说明:

参数 类型 是否必传 描述
streamId string 必传 远端流的ID
onFailure failCallback 选传 回调:播放远端流失败

3、 停止播流

当收到上述1.1回调有流离开房间时, 需要调用stopPlayStream (streamId, onFailure)该方法,停止播流,并从UI上移除播流组件。

ChuangLiveEngine.stopPlayStream(streamId, onFailure);

方法参数说明:

参数 类型 是否必传 描述
streamId string 必传 停止播放的流名
onFailure failCallback 选传 回调:停止播放远端流失败

4、 播流状态回调

当主动调用播流接口并播流成功,主动调用停止播流接口并成功停止播流,或者其他网络异常引起播流中断的时候会收到该回调, 可用来监控远端流的视频流状态。

/*
 @description 播流状态变化回调 
 @param streamId 流ID
 @param state 流状态
 @param errorCode 错误码
 */
ChuangLiveEngine.on(on('PlayStreamStateUpdate', function(streamId, state, errorCode){}))
流状态 错误码 说明
0 0 停止播流成功
1 12013 网络原因导致播流中断重连
2 0 播流成功
2 12025 播流重连成功

5、 播流状态通知

用户可以根据自己需要调用小程序 statusNotification(streamId, code, {})方法,进行通知。

6、 播流重连

当用户收到小程序自带回调 bindstatechange 结果为 detail.code === -2301 时,需主动调用播流重连接口 playNextConn(streamId,onFailure),进行播流重连,或者调用 5、中的方法,通知SDK层播流状态,稍后会受到播流状态回调。

results matching ""

    No results matching ""