如何动态切换音视频分辨

如何动态切换音视频分辨
发布时间: 2019-04-19 11:26

回答:

RongRTCLib 支持在运行的过程中动态切换分辨率,可以参考以下方法实现

1. 初始化设置分辨率

APP 可以调用 RongRTCAVCapturer 的设置采集参数方法来设置打开摄像头时采集的视频分辨,参考下面代码

// 初始化采集参数
RongRTCVideoCaptureParam *param = [RongRTCVideoCaptureParam defaultParameters];
param.videoSizePreset = RongRTCVideoSizePreset720x480;

[[RongRTCAVCapturer sharedInstance] setCaptureParam:param];
[[RongRTCAVCapturer sharedInstance] startCapture];

2. APP 在通话的过程中设置分辨率(包含帧率,码率等)

在音视频通话的过程中不需要再次设置采集参数,设置 RongRTCAVCapturer 的 videoSizePreset 属性即可,同时 SDK 也支持在运行的过程中设置视频帧率,采集方向等,APP 可以调用以下方法来达到目的

/** 通话前设置音视频采集参数,通过过程中设置无效 
@param params 参数 
*/
- (void)setCaptureParam:(RongRTCVideoCaptureParam*)params;


/**
 设置通话过程中的视频分辨率
 */
@property(nonatomic,assign) RongRTCVideoSizePreset videoSizePreset;

/**
 设置通话过程中视频帧率
 */
@property(nonatomic,assign) RongRTCVideoFPS videoFrameRate;

/**
 设置摄像头采集方向,默认以 AVCaptureVideoOrientationPortrait 角度进行采集
 */
@property(nonatomic,assign) AVCaptureVideoOrientation videoOrientation;