Class Camera1Manager

java.lang.Object
com.streamwide.smartms.lib.camera.manager.impl.Camera1Manager
All Implemented Interfaces:
android.hardware.Camera.PictureCallback, android.hardware.Camera.ShutterCallback, android.media.MediaRecorder.OnInfoListener, android.view.SurfaceHolder.Callback, CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>

public class Camera1Manager extends Object implements android.view.SurfaceHolder.Callback, android.hardware.Camera.PictureCallback, android.hardware.Camera.ShutterCallback
  • Field Details

    • camera

      @Nullable protected android.hardware.Camera camera
    • surface

      @Nullable protected android.view.Surface surface
    • currentInstance

      @Nullable protected static Camera1Manager currentInstance
    • orientation

      protected int orientation
    • outputPath

      @Nullable protected File outputPath
    • videoListener

      @Nullable protected CameraVideoListener videoListener
    • photoListener

      @Nullable protected CameraPhotoListener photoListener
    • cameraOpenListener

      @Nullable protected CameraOpenListener<Integer,android.view.SurfaceHolder.Callback> cameraOpenListener
    • mIsSafeToTakePicture

      protected boolean mIsSafeToTakePicture
    • configurationProvider

      protected ConfigurationProvider configurationProvider
    • videoRecorder

      protected android.media.MediaRecorder videoRecorder
    • isVideoRecording

      protected boolean isVideoRecording
    • currentCameraId

      protected Integer currentCameraId
    • faceFrontCameraId

      protected Integer faceFrontCameraId
    • faceBackCameraId

      protected Integer faceBackCameraId
    • currentCamera

      protected android.hardware.Camera currentCamera
    • numberOfCameras

      protected int numberOfCameras
    • faceFrontCameraOrientation

      protected int faceFrontCameraOrientation
    • faceBackCameraOrientation

      protected int faceBackCameraOrientation
    • camcorderProfile

      protected android.media.CamcorderProfile camcorderProfile
    • photoSize

      protected Size photoSize
    • videoSize

      protected Size videoSize
    • previewSize

      protected Size previewSize
    • backgroundHandler

      protected android.os.Handler backgroundHandler
    • uiHandler

      protected android.os.Handler uiHandler
  • Method Details

    • getInstance

      @NonNull public static Camera1Manager getInstance()
    • openCamera

      public void openCamera(@NonNull Integer cameraId, @Nullable CameraOpenListener<Integer,android.view.SurfaceHolder.Callback> cameraOpenListener)
      Specified by:
      openCamera in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • closeCamera

      public void closeCamera(@Nullable CameraCloseListener<Integer> cameraCloseListener)
      Specified by:
      closeCamera in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • setFlashMode

      public void setFlashMode(int flashMode)
      Specified by:
      setFlashMode in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • takePhoto

      public void takePhoto(@Nullable File photoFile, @Nullable CameraPhotoListener cameraPhotoListener)
      Specified by:
      takePhoto in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • startVideoRecord

      public void startVideoRecord(@Nullable File videoFile, @Nullable CameraVideoListener cameraVideoListener)
      Specified by:
      startVideoRecord in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • stopVideoRecord

      public void stopVideoRecord(boolean needDisplayPreviewScreen)
      Specified by:
      stopVideoRecord in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • existMediaRecordedVideo

      public boolean existMediaRecordedVideo()
    • initializeCameraManager

      public void initializeCameraManager(@NonNull ConfigurationProvider configurationProvider, @NonNull android.content.Context context)
      Specified by:
      initializeCameraManager in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • getPhotoAvailableSize

      @Nullable public List<Size> getPhotoAvailableSize()
      Specified by:
      getPhotoAvailableSize in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • getCurrentSize

      @Nullable public Size getCurrentSize()
      Specified by:
      getCurrentSize in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • getCurrentCamProfile

      @Nullable public android.media.CamcorderProfile getCurrentCamProfile()
      Specified by:
      getCurrentCamProfile in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • prepareCameraOutputs

      protected void prepareCameraOutputs()
    • prepareVideoRecorder

      protected boolean prepareVideoRecorder()
    • onMaxDurationReached

      protected void onMaxDurationReached()
    • onMaxFileSizeReached

      protected void onMaxFileSizeReached()
    • releaseVideoRecorder

      protected void releaseVideoRecorder()
    • handleCamera

      public void handleCamera(@NonNull CameraHandler<android.hardware.Camera> cameraHandler)
      Specified by:
      handleCamera in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • handleParameters

      public boolean handleParameters(@NonNull ParametersHandler<android.hardware.Camera.Parameters> parameters)
      Specified by:
      handleParameters in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • setCameraPhotoQuality

      protected void setCameraPhotoQuality(@NonNull android.hardware.Camera camera)
    • getPhotoOrientation

      protected int getPhotoOrientation(int sensorPosition)
    • getVideoOrientation

      protected int getVideoOrientation(int sensorPosition)
    • surfaceCreated

      public void surfaceCreated(@NonNull android.view.SurfaceHolder surfaceHolder)
      Specified by:
      surfaceCreated in interface android.view.SurfaceHolder.Callback
    • surfaceChanged

      public void surfaceChanged(@NonNull android.view.SurfaceHolder surfaceHolder, int format, int width, int height)
      Specified by:
      surfaceChanged in interface android.view.SurfaceHolder.Callback
    • surfaceDestroyed

      public void surfaceDestroyed(@NonNull android.view.SurfaceHolder surfaceHolder)
      Specified by:
      surfaceDestroyed in interface android.view.SurfaceHolder.Callback
    • onPictureTaken

      public void onPictureTaken(@NonNull byte[] bytes, @Nullable android.hardware.Camera camera)
      Specified by:
      onPictureTaken in interface android.hardware.Camera.PictureCallback
    • onShutter

      public void onShutter()
      Specified by:
      onShutter in interface android.hardware.Camera.ShutterCallback
    • setZoom

      public void setZoom(float zoom)
      Specified by:
      setZoom in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • getMaxZoom

      public float getMaxZoom()
      Specified by:
      getMaxZoom in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • getZoomRations

      @Nullable public List<Integer> getZoomRations()
      Specified by:
      getZoomRations in interface CameraManager<Integer,android.view.SurfaceHolder.Callback,android.hardware.Camera.Parameters,android.hardware.Camera>
    • deleteMediaFile

      public void deleteMediaFile()
      Delete the output file
    • getOutPutFile

      @Nullable public File getOutPutFile()
    • releaseCameraManager

      public void releaseCameraManager()
      Specified by:
      releaseCameraManager in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • onInfo

      public void onInfo(android.media.MediaRecorder mediaRecorder, int what, int extra)
      Specified by:
      onInfo in interface android.media.MediaRecorder.OnInfoListener
    • isVideoRecording

      public boolean isVideoRecording()
      Specified by:
      isVideoRecording in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getCurrentCameraId

      public Integer getCurrentCameraId()
      Specified by:
      getCurrentCameraId in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getFaceFrontCameraId

      public Integer getFaceFrontCameraId()
      Specified by:
      getFaceFrontCameraId in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getFaceBackCameraId

      public Integer getFaceBackCameraId()
      Specified by:
      getFaceBackCameraId in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getCurrentCamera

      @NonNull public android.hardware.Camera getCurrentCamera()
      Specified by:
      getCurrentCamera in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getNumberOfCameras

      public int getNumberOfCameras()
      Specified by:
      getNumberOfCameras in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getFaceFrontCameraOrientation

      public int getFaceFrontCameraOrientation()
      Specified by:
      getFaceFrontCameraOrientation in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>
    • getFaceBackCameraOrientation

      public int getFaceBackCameraOrientation()
      Specified by:
      getFaceBackCameraOrientation in interface CameraManager<CameraId,SurfaceListener,CameraParameters,Camera>