功能简介
阿里云 RTC 提供一系列摄像头管理方法,包括切换前后置摄像头、缩放镜头、曝光设置和对焦功能,您可以在加入频道前进行设置,帮助您在通话时使成像更清晰、大小与亮度更适宜。
实现方法
在实现该功能之前,需要您已经搭建 AppServer、实现基本功能等操作。详情请参见入门概述。
具体实现方法如下所示。
- getCurrentCameraType:获取当前摄像头类型。
public abstract AliRTCCameraType getCurrentCameraType()
- 返回摄像头的类型。
返回值 | 枚举名 | 描述 |
-1 | AliRTCCameraInvalid | 无效 |
0 | AliRTCCameraBack | 后置摄像头 |
1 | AliRTCCameraFront | 前置摄像头 |
- isCameraOn:检查摄像头是否打开。返回 true 表示摄像头已打开,false 表示摄像头未打开。
public abstract boolean isCameraOn()
- setPreCameraType:预设值摄像头方向。0 表示后置,1 表示前置(默认值为 1)。
public abstract void setPreCameraType(int faceTo)
参数 | 类型 | 描述 |
faceTo | int | 0 表示后置,1 表示前置(默认值为 1)。 |
- getPreCameraType:获取预设值摄像头方向。返回 0 为后置摄像头,1 为前置摄像头。
public abstract int getPreCameraType()
- setCameraZoom:设置摄像头参数。返回 0 表示设置成功,其他表示设置失败。
public abstract int setCameraZoom(float zoom, boolean flash, boolean autoFocus)
参数 | 类型 | 描述 |
zoom | float | zoom 变焦的级别(默认值:1.0)。 |
flash | boolean | 是否打开闪光灯。取值:true|false。 |
autoFocus | boolean | 是否打开自动对焦。取值:true|false。 |
- isCameraSupportExposurePoint:相机是否支持手动曝光。返回 true 表示支持,否则返回 false。
public abstract boolean isCameraSupportExposurePoint();
- isCameraSupportFocusPoint: 相机是否支持手动聚焦。返回 true 表示支持,否则返回 false。
public abstract boolean isCameraSupportFocusPoint();
- setCameraExposurePoint: 设置手动曝光的坐标点。返回 0 表示设置成功,其他表示设置失败。
public abstract int setCameraExposurePoint(float x, float y);
参数 | 类型 | 描述 |
x | float | x 坐标。 |
y | float | y 坐标。 |
- setCameraFocusPoint:设置手动聚焦的坐标点,返回 0 表示设置成功,非 0 表示设置失败。
public abstract int setCameraFocusPoint(float x, float y);
参数 | 类型 | 描述 |
x | float | x 坐标。 |
y | float | y 坐标。 |
- isCameraFlash ():查看摄像头闪光灯是否开启,返回 true 表示开启,否则返回 false。
public abstract boolean isCameraFlash();
- getCameraZoom (): 获取相机 zoom(变焦)值,返回值范围:1~ 相机支持的最大值。
public abstract float getCameraZoom();
获得更多功能实现方法,请参见 AliRtcEngine 接口。
「视频云技术」你最值得关注的音视频技术公众号,每周推送来自阿里云一线的实践技术文章,在这里与音视频领域一流工程师交流切磋。