本章节为您介绍了在进行音视频通话之前,对摄像头进行管理的实现方法。

功能简介

阿里云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接口