摄像头
打开/关闭摄像头
提示
调用 RCRTCEngine 下的 EnableCamera 打开摄像头,开始采集数据。
只能在 IM 连接成功并调用 RCRTCEngine.Create
方法之后调用。
/// <summary>
/// 打开/关闭外放
/// </summary>
/// <param name="enable”>true 打开, false 关闭</param>
/// <param name="camera”>摄像头类型</param>
/// <returns>0成功 非0失败</returns>
public int EnableCamera(bool enable, RCRTCCamera camera);
-
参数说明:
参数 类型 说明 enable bool true
使用扬声器;false
使用听筒camera RCRTCCamera FRONT
前置摄像头;BACK
后置摄像头 -
示例代码:
Engine.OnEnableCamera = (bool enabled, int code, String errorMsg) => {
// enabled: 摄像头是否开启
// code: 错误码
// errorMsg: 错误信息描述
};
Engine.EnableCamera(true, RCRTCCamera.FRONT);
切换摄像头
提示
调用 RCRTCEngine 下的 SwitchCamera 切换前后摄像头。
/// <summary>
/// 切换前后摄像头
/// </summary>
/// <returns> 0成功 非0失败 </returns>
public int SwitchCamera();
-
示例代码:
Engine.OnSwitchCamera = (RCRTCCamera cameraType, int code, String errorMsg) => {
// cameraType: RCRTCCamera.FRONT 前置摄像头; RCRTCCamera.Back 后置摄像头
// code: 错误码
// errorMsg: 错误信息描述
};
Engine.SwitchCamera();
获取摄像头
提示
调用 RCRTCEngine 下的 WhichCamera 获取当前摄像头。
/// <summary>
/// 获取当前摄像头
/// </summary>
/// <returns> `FRONT` 前置摄像头;`BACK` 后置摄像头 </returns>
public RCRTCCamera WhichCamera();
-
示例代码:
Engine.WhichCamera();
设置视频参数
提示
调用 RCRTCEngine 下的 SetVideoConfig 设置大小流的视频分辨率、码率、帧率等信息,支持通话过程中动态设置。
-
示例代码:
var videoConfig =
RCRTCVideoConfig.Create()
.SetMinBitrate(200)
.SetMaxBitrate(900)
.SetFps(RCRTCVideoFps.FPS_15)
.SetResolution(RCRTCVideoResolution.RESOLUTION_720_1280);
// 配置视频大流参数
var isTinyVideo = false;
Engine.SetVideoConfig(config, isTinyVideo);
手动对焦
提示
调用 RCRTCEngine 下的 IsCameraFocusSupported 来判断摄像头是否支持区域对焦。 对于支持的设备,可调用 SetCameraFocusPositionInPreview 进行手动对焦,设置对焦的坐标原点为视频区域的左上角。
-
示例代码:
if (Engine.IsCameraFocusSupported()) {
Engine.SetCameraFocusPositionInPreview(100, 100);
}
区域测光
提示
调用 RCRTCEngine 下的 IsCameraExposurePositionSupported 来判断摄像头是否支持区域测光。
对于支持的设备,可调用 SetCameraExposurePositionInPreview 进行区域测光设置,设置测光的坐标原点为视频区域的左上角。
-
示例代码:
if(Engine.IsCameraExposurePositionSupported()) {
Engine.SetCameraExposurePositionInPreview(100, 100);
}