NIMSDK-AOS  9.19.0
AVChatCameraCapturer.java
浏览该文件的文档.
1 /*
2  * Copyright (c) 2014-2018 NetEase, Inc.
3  * All right reserved.
4  */
5 
6 package com.netease.nimlib.sdk.avchat.video;
7 
8 import android.hardware.Camera;
9 
14 
15 /**
16  * 提供一些操作相机的接口
17  * <p>通过{@link AVChatVideoCapturerFactory#createCameraPolicyCapturer(boolean)} 创建
18  */
19 
20 public abstract class AVChatCameraCapturer implements AVChatVideoCapturer {
21 
22  /**
23  * 设置缩放
24  * @param zoomValue 缩放参数
25  */
26  public abstract void setZoom(int zoomValue);
27 
28  /**
29  * 获取当前缩放比例
30  * @return 获取当前缩放比例
31  */
32  public abstract int getCurrentZoom();
33 
34  /**
35  * 获取摄像头支持的最大视频缩放比例
36  * @return 摄像头支持的最大视频缩放比例
37  */
38  public abstract int getMaxZoom();
39 
40  /**
41  * 开启或关闭闪光灯
42  * @param flash true:开启 false:关闭
43  * @return 0:成功 1: 失败 2:不支持
44  */
45  public abstract int setFlash(boolean flash);
46 
47  /**
48  * 切换摄像头
49  * @return 0:请求成功, 其他失败<br>
50  * 切换成功会回调 {@link AVChatStateObserver#onDeviceEvent(int, String)}
51  * @see AVChatDeviceEvent#VIDEO_CAMERA_SWITCH_OK
52  * @see AVChatDeviceEvent#VIDEO_CAMERA_SWITCH_ERROR
53  */
54  public abstract int switchCamera();
55 
56  /**
57  * 是否拥有多个摄像头.
58  *
59  * @return <{@code true} 拥有多个摄像头. {@code false} 不具有多个摄像头.
60  */
61  public static boolean hasMultipleCameras(){
62  return Camera.getNumberOfCameras() > 1;
63  }
64 
65  /**
66  * 设置测光区域
67  * @param x 测光区域x坐标
68  * @param y 测光区域y坐标
69  */
70  public abstract void setMeteringAreas(float x, float y);
71 
72  /**
73  * 设置对焦区域
74  * @param x 对焦区域x坐标
75  * @param y 对焦区域y坐标
76  */
77  public abstract void setFocusAreas(float x, float y);
78 }
abstract void setZoom(int zoomValue)
设置缩放
abstract void setMeteringAreas(float x, float y)
设置测光区域
abstract int setFlash(boolean flash)
开启或关闭闪光灯
abstract void setFocusAreas(float x, float y)
设置对焦区域
abstract int getCurrentZoom()
获取当前缩放比例
abstract int getMaxZoom()
获取摄像头支持的最大视频缩放比例
static boolean hasMultipleCameras()
是否拥有多个摄像头.