我已经尝试解决这个问题3天了,但仍然没有找到答案。
我想在通过 Zxing 扫描仪扫描二维码时向相机添加 ZOOM。
构建.gradle:
implementation 'me.dm7.barcodescanner:zxing:1.9.8'
Xml:
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
扫描仪片段:
@Override
public void onResume() {
super.onResume();
activateScanner();
}
private ViewGroup contentFrame;
private ZXingScannerView zXingScannerView;
private void activateScanner() {
if(zXingScannerView != null) {
if(zXingScannerView.getParent()!=null) {
((ViewGroup)
zXingScannerView.getParent()).removeView(zXingScannerView); // to
prevent crush on re adding view
}
contentFrame.addView(zXingScannerView);
if(zXingScannerView.isActivated()) {
zXingScannerView.stopCamera();
}
zXingScannerView.startCamera(camId);
zXingScannerView.setFlash(isFlash);
//zXingScannerView.setAutoFocus(isAutoFocus);
}
}
我添加了SeekBar,用它我想控制相机的变焦。
private Camera cameraZoom;
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
try {
Camera.Parameters parameters = cameraZoom.getParameters();
}
catch (NullPointerException e) {
Log.d("NullP",e.getMessage());
}
}
LOG:
D/NullP: Attempt to invoke virtual method 'android.hardware.Camera$Parameters android.hardware.Camera.getParameters()' on a null object reference
我尝试使用上面的代码执行此操作,但只有错误
请告诉我该怎么做。
if(cameraZoom == null){
cameraZoom = Camera.open();
}
您的代码中缺少此行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)