发布和订阅
本部分介绍能够实现向房间发布媒体流或取消发布,订阅媒体流或停止订阅等操作。
发布本地媒体流
在发布媒体流之前,可以调用QNRTCSetting.setVideoEnabled(boolean enable) 和 QNRTCSetting.setAudioEnabled(boolean enable) 设置是否发布音频和视频,如果不进行任何设置,则默认同时发布音频和视频。
纯音频模式
纯音频模式下将会关闭任何视频数据的采集。若只需要纯音频,请务必在调用 publish 方法前执行下面这行代码以关闭视频流的发布,否则会产生过多的视频订阅费用。
QNRTCSetting.setVideoEnabled(false)
发布本地媒体流
调用 QNRTCManager.publish 向房间发布本地媒体流。
public void publish()
媒体流发布回调
本地媒体流发布成功后,会触发如下回调:
本地:
void onLocalPublished()
远端:
void onRemotePublished(String userId, boolean isAudioEnabled, boolean isVideoEnabled)
取消发布本地媒体流
调用 QNRTCManager.unpublish 取消发布本地媒体流。
public void unpublish()
本地媒体流取消发布后,会触发如下回调:
远端:
void onRemoteUnpublished(String userId)
订阅远端用户媒体流
在远端用户发布流媒体成功后,调用 QNRTCManager.subscribe 接口订阅该 userId 对应的远端用户的媒体流。
public void subscribe(String userId)
本地订阅远端用户媒体流成功后,会触如下回调:
本地:
void onSubscribed(String userId)
取消订阅远端用户媒体流
调用 QNRTCManager.unsubscribe 接口取消订阅该 userId 对应的远端用户的媒体流。
public void unsubscribe(String userId)