public class BaseCameraScan<T> extends CameraScan<T>
CameraScan.OnScanResultCallback<T>LENS_FACING_BACK, LENS_FACING_FRONT, SCAN_RESULT| 构造器和说明 |
|---|
BaseCameraScan(androidx.fragment.app.FragmentActivity activity,
androidx.camera.view.PreviewView previewView) |
BaseCameraScan(androidx.fragment.app.Fragment fragment,
androidx.camera.view.PreviewView previewView) |
| 限定符和类型 | 方法和说明 |
|---|---|
CameraScan |
bindFlashlightView(android.view.View v)
绑定手电筒,绑定后可根据光线传感器,动态显示或隐藏手电筒
|
void |
enableTorch(boolean torch)
设置闪光灯(手电筒)是否开启
|
androidx.camera.core.Camera |
getCamera()
获取
Camera |
boolean |
hasFlashUnit()
是否支持闪光灯
|
boolean |
isTorchEnabled()
闪光灯(手电筒)是否开启
|
void |
lineZoomIn()
线性放大
|
void |
lineZoomOut()
线性缩小
|
void |
lineZoomTo(float linearZoom)
线性缩放到指定比例
|
void |
release()
释放
|
CameraScan |
setAnalyzeImage(boolean analyze)
设置是否分析图像,通过此方法可以动态控制是否分析图像,常用于中断扫码识别。
|
CameraScan |
setAnalyzer(Analyzer<T> analyzer)
设置分析器,如果内置的一些分析器不满足您的需求,你也可以自定义
Analyzer,
自定义时,切记需在ICamera.startCamera()之前调用才有效。 |
CameraScan |
setBrightLightLux(float lightLux)
设置光线足够明亮的阈值(单位:lux),需要通过
CameraScan.bindFlashlightView(View)绑定手电筒才有效 |
CameraScan |
setCameraConfig(CameraConfig cameraConfig)
设置相机配置,请在
ICamera.startCamera()之前调用 |
CameraScan |
setDarkLightLux(float lightLux)
设置光线足够暗的阈值(单位:lux),需要通过
CameraScan.bindFlashlightView(View)绑定手电筒才有效 |
CameraScan |
setOnScanResultCallback(CameraScan.OnScanResultCallback callback)
设置扫码结果回调
|
CameraScan |
setPlayBeep(boolean playBeep)
设置是否播放提示音
|
CameraScan |
setVibrate(boolean vibrate)
设置是否震动
|
void |
startCamera()
启动相机预览
|
void |
stopCamera()
停止相机预览
|
void |
zoomIn()
放大
|
void |
zoomOut()
缩小
|
void |
zoomTo(float ratio)
缩放到指定比例
|
isNeedTouchZoom, parseScanResult, setNeedTouchZoompublic BaseCameraScan(@NonNull
androidx.fragment.app.FragmentActivity activity,
@NonNull
androidx.camera.view.PreviewView previewView)
public BaseCameraScan(@NonNull
androidx.fragment.app.Fragment fragment,
@NonNull
androidx.camera.view.PreviewView previewView)
public CameraScan setCameraConfig(CameraConfig cameraConfig)
CameraScanICamera.startCamera()之前调用setCameraConfig 在类中 CameraScan<T>public void startCamera()
ICamerapublic void stopCamera()
ICamerapublic CameraScan setAnalyzeImage(boolean analyze)
CameraScanCameraScan.OnScanResultCallback.onScanResultCallback(AnalyzeResult)返回true拦截即可。
当连扫的处理逻辑比较复杂时,请在处理逻辑前通过调用setAnalyzeImage(false)来停止分析图像,
等逻辑处理完后再调用getCameraScan().setAnalyzeImage(true)来继续分析图像。
2. 如果只是想拦截扫码结果回调自己处理逻辑,但并不想继续分析图像(即不想连扫),可通过
调用getCameraScan().setAnalyzeImage(false)来停止分析图像。setAnalyzeImage 在类中 CameraScan<T>public CameraScan setAnalyzer(Analyzer<T> analyzer)
CameraScanAnalyzer,
自定义时,切记需在ICamera.startCamera()之前调用才有效。setAnalyzer 在类中 CameraScan<T>public void zoomIn()
ICameraControlpublic void zoomOut()
ICameraControlpublic void zoomTo(float ratio)
ICameraControlpublic void lineZoomIn()
ICameraControlpublic void lineZoomOut()
ICameraControlpublic void lineZoomTo(float linearZoom)
ICameraControlpublic void enableTorch(boolean torch)
ICameraControlpublic boolean isTorchEnabled()
ICameraControlpublic boolean hasFlashUnit()
public CameraScan setVibrate(boolean vibrate)
CameraScansetVibrate 在类中 CameraScan<T>public CameraScan setPlayBeep(boolean playBeep)
CameraScansetPlayBeep 在类中 CameraScan<T>public CameraScan setOnScanResultCallback(CameraScan.OnScanResultCallback callback)
CameraScansetOnScanResultCallback 在类中 CameraScan<T>@Nullable public androidx.camera.core.Camera getCamera()
ICameraCamerapublic void release()
ICamerapublic CameraScan bindFlashlightView(@Nullable android.view.View v)
CameraScanbindFlashlightView 在类中 CameraScan<T>public CameraScan setDarkLightLux(float lightLux)
CameraScanCameraScan.bindFlashlightView(View)绑定手电筒才有效setDarkLightLux 在类中 CameraScan<T>public CameraScan setBrightLightLux(float lightLux)
CameraScanCameraScan.bindFlashlightView(View)绑定手电筒才有效setBrightLightLux 在类中 CameraScan<T>