推流

如果登录房间时选择了主播或者互动连麦角色, 需要进行推流操作, 其他人才能看到直播画面。即将自己的视频画面通过调用推流方法推送到服务端, 观看者通过从服务端播流, 才可以看到对方的音视频画面。

步骤

1、设置推流配置

推流前需要实例化一个ChuangStreamConfig流配置对象,对所要推的流进行属性设置,需要传入流的模式。流的模式(参数streamstat)有三种,音视频模式: 0; 纯音频模式: 1; 纯视频模式: 2 详情请参考ChuangStreamMode

streamConfig = ChuangLiveEngine.newStreamConfig(ChuangLiveEngine.ChuangStreamMode.BOTH);

所有推流配置一定要在推流前设置, 推流后设置或者修改不会生效。 如果需要修改配置, 需要停止推流, 修改配置后重新发起推流, 新的配置才会生效。

1.1 设置推流的流属性配置

通过调用setVideoConfig(videoConfig)方法对视频的分辨率、比特率、帧率,推流模式,设备ID等内容进行设置。

参数 类型 是否必传 描述
videoConfig ChuangVideoConfig 必传 配置信息对象 ChuangVideoConfig
streamConfig.setVideoConfig(videoConfig);

2、 发起推流

登录房间成功返回后, 比如主播或者多人视频场景下, 需要将自己流信息推送给他人看到, 则必须调用ChuangLiveEngine.startPublishStream(streamId, streamConfig, onFailure)推流接口, 将上述初始化的配置类传入推流接口。

方法参数说明:

参数 类型 是否必传 描述
streamId string 必传 流ID,流信息唯一标识,注意流ID在APP内不能重复,流ID仅支持’0’-‘9’,’a’-‘z’,’A’-‘Z',‘-’,'_'字符,不超过256个字符
streamConfig ChuangStreamConfig 必传 推流配置参数对象,详情参照ChuangVideoConfig
onFailure failCallback 选传 回调:播放本地流并发布失败

3、停止推流

需要停止推流时调用:ChuangLiveEngine.stopPublishStream (streamId, onFailure)停止推流接口。

4、 推流状态回调

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

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

5、 推流状态通知

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

6、 推流重连

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

results matching ""

    No results matching ""