订阅资源
1、在加入房间的回调返回的 RongRTCRoom 中可以获取到 RongRTCRemoteUser, 调用 RongRTCRemoteUser 对象订阅(或者取消订阅)媒体流,如果是视频流,请设置 RongRTCAVInputStream 对象的渲染界面,否则视频不可见。(用户可以遍历所有用户进行相关流的订阅,也可以直接将所有流组合在一起,通过一个 remoteUser 实现所有的流订阅),也可以调用切换方法来切换使用大码率视频流播放还是小码率视频流播放。
/**
* 订阅接收音视频流.
*
* @param streams 音视频流
* @param callBack 订阅结果
*/
public void subscribeAvStream(List<RongRTCAVInputStream> streams, RongRTCResultUICallBack callBack)
/**
* 将一个视频流切换成正常码率视频流
*
* @param callBack 结果回调
*/
public void exchangeStreamToNormalStream(RongRTCResultUICallBack callBack)
/**
* 将一个视频流切换成小码率视频流
*
* @param callBack 结果回调
*/
public void exchangeStreamToTinyStream(RongRTCResultUICallBack callBack)
/**
* 设置渲染图像
* @param videoView RongRTCVideoView
*/
public void setRongRTCVideoView(RongRTCVideoView videoView)
订阅代码示例:
for (RongRTCRemoteUser remoteUser : mRongRTCRoom.getRemoteUsers().values()) {
remoteUser.subscribeAvStream(remoteUser.getRemoteAVStreams(), new RongRTCResultUICallBack() {
@Override
public void onUiSuccess() {
Toast.makeText(MainActivity.this, "订阅资源成功", Toast.LENGTH_SHORT).show();
}
@Override
public void onUiFailed(RTCErrorCode rtcErrorCode) {
Toast.makeText(MainActivity.this, "订阅资源成功", Toast.LENGTH_SHORT).show();
}
});
}
音视频采集参数¶
SDK 将手持设备的摄像头、麦克风等流媒体设备进行统一管理,方便上层用户的使用,调用该管理类的方法会直接影响默认媒体流,也即是 publishDefaultAVStream 该方法发布的媒体流。
设置启动时参数¶
调用 RongRTCCapture 中的方法,需要在摄像头开启之前设置,如果不设置此参数则采用系统默认,建议不设置。
/**
* 设置音视频配置
*
* @param rtcConfig
*/
public void setRTCConfig(RongRTCConfig rtcConfig)
开关摄像头¶
调用 RongRTCCapture 中的方法关闭或者打开摄像头。
/**
* 开启摄像头采集视频数据
*/
public void startCameraCapture()
/**
* 此方法在{@link RongRTCEngine#joinRoom(String, JoinRoomUICallBack)} 执行之后调用才会生效。
* 停用摄像头.此方法配合{@link RongRTCCapture#stopCameraCapture()} }对应使用 当聊天页面被切换到后台时,可以 调用此方法来释放相机资源,以确保其他用到相机的App能正常使用相机。
*/
public void stopCameraCapture()
/**
* 关闭/打开本地视频,默认处于打开状态
*
* @param isMute
*/
public void muteLocalVideo(boolean isMute)
切换摄像头¶
调用 RongRTCCapture 中的方法切换摄像头接口
/**
* 前后摄像头切换. 默认打开的是前置摄像头
*/
public void switchCamera()
开关麦克风¶
调用 RongRTCCapture 中的方法开关麦克风
/**
* 关闭/打开麦克风,默认处于打开状态
*
* @param isMute true 关闭麦克风
* false 打开麦克风
*/
public void muteMicrophone(boolean isMute)
切换扬声器¶
调用 RongRTCCapture 中的方法关闭扬声器
/**
* 设置扬声器是否打开.
*
* @param enabled 当为true时,打开扬声器;否则关闭扬声器
*/
public void setEnableSpeakerphone(boolean enabled)
设置分辨率和帧率¶
设置分辨率中枚举解释,144P 代表分辨率,15f 代表帧率
RongRTCConfig.Builder builder = new RongRTCConfig.Builder();
builder.videoProfile(RongRTCConfig.RongRTCVideoProfile.RONGRTC_VIDEO_PROFILE_144P_15f);
RongRTCConfig = builder.build();