public class DefaultCameraScan extends CameraScan
CameraScan.OnScanResultCallbackLENS_FACING_BACK, LENS_FACING_FRONT, SCAN_RESULT| 构造器和说明 |
|---|
DefaultCameraScan(androidx.fragment.app.FragmentActivity activity,
androidx.camera.view.PreviewView previewView) |
DefaultCameraScan(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 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)
缩放到指定比例
|
isNeedAutoZoom, isNeedTouchZoom, parseScanResult, setNeedAutoZoom, setNeedTouchZoompublic DefaultCameraScan(@NonNull
androidx.fragment.app.FragmentActivity activity,
@NonNull
androidx.camera.view.PreviewView previewView)
public DefaultCameraScan(@NonNull
androidx.fragment.app.Fragment fragment,
@NonNull
androidx.camera.view.PreviewView previewView)
public CameraScan setCameraConfig(CameraConfig cameraConfig)
CameraScanICamera.startCamera()之前调用setCameraConfig 在类中 CameraScanpublic void startCamera()
ICamerapublic void stopCamera()
ICamerapublic CameraScan setAnalyzeImage(boolean analyze)
CameraScanCameraScan.OnScanResultCallback.onScanResultCallback(Result)返回true拦截即可。
当连扫的处理逻辑比较复杂时,请在处理逻辑前通过调用setAnalyzeImage(false)来停止分析图像,
等逻辑处理完后再调用getCameraScan().setAnalyzeImage(true)来继续分析图像。
2. 如果只是想拦截扫码结果回调自己处理逻辑,但并不想继续分析图像(即不想连扫),可通过
调用getCameraScan().setAnalyzeImage(false)来停止分析图像。setAnalyzeImage 在类中 CameraScanpublic CameraScan setAnalyzer(Analyzer analyzer)
CameraScanAnalyzer,
自定义时,切记需在ICamera.startCamera()之前调用才有效。
内置了一些Analyzer的实现类如下:setAnalyzer 在类中 CameraScanMultiFormatAnalyzer},
AreaRectAnalyzer},
ImageAnalyzer},
BarcodeFormatAnalyzer},
QRCodeReader}public void zoomIn()
ICameraControlpublic void zoomOut()
ICameraControlpublic void zoomTo(float ratio)
ICameraControlpublic void lineZoomIn()
ICameraControlpublic void lineZoomOut()
ICameraControlpublic void lineZoomTo(@FloatRange(from=0.0,to=1.0)
float linearZoom)
ICameraControlpublic void enableTorch(boolean torch)
ICameraControlpublic boolean isTorchEnabled()
ICameraControlpublic boolean hasFlashUnit()
public CameraScan setVibrate(boolean vibrate)
CameraScansetVibrate 在类中 CameraScanpublic CameraScan setPlayBeep(boolean playBeep)
CameraScansetPlayBeep 在类中 CameraScanpublic CameraScan setOnScanResultCallback(CameraScan.OnScanResultCallback callback)
CameraScansetOnScanResultCallback 在类中 CameraScan@Nullable public androidx.camera.core.Camera getCamera()
ICameraCamerapublic void release()
ICamerapublic CameraScan bindFlashlightView(@Nullable android.view.View v)
CameraScanbindFlashlightView 在类中 CameraScanpublic CameraScan setDarkLightLux(float lightLux)
CameraScanCameraScan.bindFlashlightView(View)绑定手电筒才有效setDarkLightLux 在类中 CameraScanpublic CameraScan setBrightLightLux(float lightLux)
CameraScanCameraScan.bindFlashlightView(View)绑定手电筒才有效setBrightLightLux 在类中 CameraScan