public class Camera1ApiManager
extends java.lang.Object
implements android.hardware.Camera.PreviewCallback, android.hardware.Camera.FaceDetectionListener
Advantage = you can control fps of the stream. Disadvantages = you cant use all resolutions, only resolution that your camera support.
If you want use all resolutions. You can use libYuv for resize images in OnPreviewFrame: https://chromium.googlesource.com/libyuv/libyuv/
Constructor and Description |
---|
Camera1ApiManager(android.graphics.SurfaceTexture surfaceTexture,
android.content.Context context) |
Camera1ApiManager(android.view.SurfaceView surfaceView,
GetCameraData getCameraData) |
Camera1ApiManager(android.view.TextureView textureView,
GetCameraData getCameraData) |
Modifier and Type | Method and Description |
---|---|
void |
disableLantern() |
void |
enableFaceDetection() |
void |
enableLantern() |
java.util.List<java.lang.Integer> |
getCameraPreviewImageFormatSupported()
See: https://developer.android.com/reference/android/graphics/ImageFormat.html to know name of
constant values
Example: 842094169 -> YV12, 17 -> NV21
|
android.hardware.Camera.Size |
getCorrectCameraSize(int width,
int height) |
java.util.List<android.hardware.Camera.Size> |
getPreviewSizeBack() |
java.util.List<android.hardware.Camera.Size> |
getPreviewSizeFront() |
boolean |
isFrontCamera() |
boolean |
isLanternEnable() |
boolean |
isPrepared() |
boolean |
isRunning() |
void |
onFaceDetection(android.hardware.Camera.Face[] faces,
android.hardware.Camera camera) |
void |
onPreviewFrame(byte[] data,
android.hardware.Camera camera) |
void |
prepareCamera() |
void |
prepareCamera(int width,
int height,
int fps,
int imageFormat) |
void |
setPreviewOrientation(int orientation) |
void |
setSurfaceTexture(android.graphics.SurfaceTexture surfaceTexture) |
void |
start() |
void |
start(int cameraFacing) |
void |
start(int cameraFacing,
int width,
int height) |
void |
stop() |
void |
switchCamera() |
public Camera1ApiManager(android.view.SurfaceView surfaceView, GetCameraData getCameraData)
public Camera1ApiManager(android.view.TextureView textureView, GetCameraData getCameraData)
public Camera1ApiManager(android.graphics.SurfaceTexture surfaceTexture, android.content.Context context)
public void setSurfaceTexture(android.graphics.SurfaceTexture surfaceTexture)
public void prepareCamera(int width, int height, int fps, int imageFormat)
public void prepareCamera()
public void start(int cameraFacing, int width, int height)
public void start(int cameraFacing)
public void start()
public void setPreviewOrientation(int orientation)
public void stop()
public boolean isRunning()
public boolean isPrepared()
public void onPreviewFrame(byte[] data, android.hardware.Camera camera)
onPreviewFrame
in interface android.hardware.Camera.PreviewCallback
public java.util.List<java.lang.Integer> getCameraPreviewImageFormatSupported()
public java.util.List<android.hardware.Camera.Size> getPreviewSizeBack()
public java.util.List<android.hardware.Camera.Size> getPreviewSizeFront()
public boolean isFrontCamera()
public void switchCamera() throws CameraOpenException
CameraOpenException
public android.hardware.Camera.Size getCorrectCameraSize(int width, int height)
public boolean isLanternEnable()
public void enableLantern()
public void disableLantern()
public void enableFaceDetection()
public void onFaceDetection(android.hardware.Camera.Face[] faces, android.hardware.Camera camera)
onFaceDetection
in interface android.hardware.Camera.FaceDetectionListener