public class CameraInterface
extends java.lang.Object
implements java.lang.Runnable
| Modifier and Type | Class and Description |
|---|---|
static class |
CameraInterface.CameraResolutionMode
采集分辨率参数模式.
|
static interface |
CameraInterface.FocusListener |
| Modifier and Type | Field and Description |
|---|---|
static int |
DISPLAY_ROTATION_LANDSCAPE |
static int |
DISPLAY_ROTATION_PORTRAIT |
| Constructor and Description |
|---|
CameraInterface() |
| Modifier and Type | Method and Description |
|---|---|
void |
addCallbackBuffer(byte[] callbackBuffer)
需要考虑多线程问题,如下的逻辑.
|
void |
closeDualCamera()
关闭双摄开播,保留一个摄像头
|
int |
getAndroidCameraFacing() |
CameraUtils.CameraFacing |
getCameraFacing() |
android.hardware.Camera.CameraInfo |
getCameraInfo() |
int |
getCameraPreviewDesiredHeight() |
int |
getCameraPreviewDesiredWidth() |
int |
getCurrentPreviewBufferSize() |
int |
getDesiredFps() |
int |
getDisplayRotation() |
static CameraInterface |
getInstance() |
int |
getMaxZoom()
获取摄像头变焦倍数的数量(多少种变焦倍数)
|
int |
getOrginalCameraFacing() |
PictureInPictureDisplayInfo |
getPictureInPictureDisplayInfo() |
int |
getPreviewFormat() |
android.hardware.Camera.Size |
getPreviewSize() |
VideoSizeUtils.Size |
getPreviewYuvSize() |
CameraInterface.CameraResolutionMode |
getResolutionMode() |
int |
getRotation() |
java.lang.String |
getSettingDPI() |
void |
handleFocusMetering(android.view.MotionEvent event) |
void |
initThread() |
boolean |
isCameraOpened() |
boolean |
isDualCameraSupported()
Deprecated.
|
boolean |
isZoomSupport()
摄像头是否支持变焦
|
int |
openCamera(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
boolean displayPortrait,
CameraInterface.CameraResolutionMode resMode)
默认单摄像头开播
|
android.hardware.Camera |
openCamera(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
CameraInterface.CameraResolutionMode resMode,
android.hardware.Camera.CameraInfo cameraInfo) |
int |
openDualCamera(int desiredWidth,
int desiredHeight,
int desiredFps,
PictureInPictureDisplayInfo info) |
boolean |
post(java.lang.Runnable task) |
void |
reattachPreviewSurfaceTexture() |
void |
releaseCamera() |
void |
resetPreviewCallBack() |
void |
reSetPreviewSurfaceTexture(android.graphics.SurfaceTexture[] oldTextures) |
void |
restart(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
boolean displayPortrait,
CameraInterface.CameraResolutionMode resMode) |
void |
restart(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
CameraInterface.CameraResolutionMode resMode) |
void |
run() |
void |
setCameraFlashMode(boolean enable)
后摄像头打开闪光等
|
void |
setCameraListener(CameraListener listner) |
void |
setFocusListen(CameraInterface.FocusListener listener) |
void |
setPreviewCallback(android.hardware.Camera.PreviewCallback previewCallback) |
void |
setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback previewCallback) |
void |
setRotation(int result) |
void |
setSurfaceViewSize(int viewWidth,
int viewHeight) |
float |
setZoom(int zoom)
设置摄像头变焦
|
void |
startPreviewWithSurfaceTexture(android.graphics.SurfaceTexture[] surfaces,
android.graphics.SurfaceTexture.OnFrameAvailableListener listener)
连接SurfaceTexture到Camera开始预览
|
void |
switchCamera()
切换摄像头:如果是单摄像头开播,则进行前摄像头切换;
如果是双摄像头开播,则进行大小画面切换
|
void |
switchCameraFacing() |
public static final int DISPLAY_ROTATION_PORTRAIT
public static final int DISPLAY_ROTATION_LANDSCAPE
public static CameraInterface getInstance()
public void initThread()
public void setCameraListener(CameraListener listner)
public void run()
run in interface java.lang.Runnablepublic int openCamera(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
boolean displayPortrait,
CameraInterface.CameraResolutionMode resMode)
public void restart(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
boolean displayPortrait,
CameraInterface.CameraResolutionMode resMode)
public void restart(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
CameraInterface.CameraResolutionMode resMode)
public android.hardware.Camera openCamera(int desiredWidth,
int desiredHeight,
int desiredFps,
CameraUtils.CameraFacing cameraFacing,
CameraInterface.CameraResolutionMode resMode,
android.hardware.Camera.CameraInfo cameraInfo)
@Deprecated public boolean isDualCameraSupported()
public int openDualCamera(int desiredWidth,
int desiredHeight,
int desiredFps,
PictureInPictureDisplayInfo info)
desiredWidth - 采集宽度desiredHeight - 采集高度desiredFps - 采集帧率info - 小画面显示参数信息public void closeDualCamera()
public void switchCamera()
public boolean isZoomSupport()
public int getMaxZoom()
public float setZoom(int zoom)
zoom - 最小值:0 不变焦,最大值:getMaxZoompublic void switchCameraFacing()
public void setCameraFlashMode(boolean enable)
enable - public void releaseCamera()
public void startPreviewWithSurfaceTexture(android.graphics.SurfaceTexture[] surfaces,
android.graphics.SurfaceTexture.OnFrameAvailableListener listener)
public void addCallbackBuffer(byte[] callbackBuffer)
callbackBuffer - public void setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback previewCallback)
public void setPreviewCallback(android.hardware.Camera.PreviewCallback previewCallback)
public void reattachPreviewSurfaceTexture()
public void reSetPreviewSurfaceTexture(android.graphics.SurfaceTexture[] oldTextures)
public void resetPreviewCallBack()
public android.hardware.Camera.Size getPreviewSize()
public VideoSizeUtils.Size getPreviewYuvSize()
public int getPreviewFormat()
public CameraUtils.CameraFacing getCameraFacing()
public int getOrginalCameraFacing()
public CameraInterface.CameraResolutionMode getResolutionMode()
public int getAndroidCameraFacing()
public boolean isCameraOpened()
public android.hardware.Camera.CameraInfo getCameraInfo()
public int getDisplayRotation()
public int getCurrentPreviewBufferSize()
public PictureInPictureDisplayInfo getPictureInPictureDisplayInfo()
public void setFocusListen(CameraInterface.FocusListener listener)
public void handleFocusMetering(android.view.MotionEvent event)
public void setSurfaceViewSize(int viewWidth,
int viewHeight)
public void setRotation(int result)
public int getRotation()
public int getDesiredFps()
public java.lang.String getSettingDPI()
public int getCameraPreviewDesiredWidth()
public int getCameraPreviewDesiredHeight()
public boolean post(java.lang.Runnable task)