Tôi đã thử mọi thứ nhưng tôi vẫn không thể giải quyết vấn đề này.autoFocus ném ngoại lệ
Tôi đang triển khai tính năng máy ảnh trong ứng dụng và mọi thứ hoạt động tốt ngoại trừ tự động lấy nét. Khi tôi gọi autoFocus(), nó ném một ngoại lệ, và tôi không thể hiểu tại sao. Tôi đang chạy mã trên Desire HD.
Code:
@Override
protected void onStart() {
super.onStart();
//grab seurface view and callback
cameraView = (CameraSurfaceView) findViewById(R.id.cameraView);
try{
camera = Camera.open();
cameraView.setCamera(camera);
//release previous autofocus and assign new one
camera.cancelAutoFocus();
camera.autoFocus(new Camera.AutoFocusCallback() {
public void onAutoFocus(boolean success, Camera camera) {
// TODO Auto-generated method stub
}});
}
catch (Exception e) {
//had an issue accessing the camera prompt user
//TODO create user prompt
e.printStackTrace();
}
}
Stack trace:
01-11 16:09:38.456: W/System.err(26546): java.lang.RuntimeException: autoFocus failed
01-11 16:09:38.456: W/System.err(26546): at android.hardware.Camera.native_autoFocus(Native Method)
01-11 16:09:38.456: W/System.err(26546): at android.hardware.Camera.autoFocus(Camera.java:680)
01-11 16:09:38.456: W/System.err(26546): at com.myapp.MyActivity.onStart(BarcodeScannerActivity.java:57)
01-11 16:09:38.466: W/System.err(26546): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1201)
01-11 16:09:38.466: W/System.err(26546): at android.app.Activity.performStart(Activity.java:3955)
01-11 16:09:38.466: W/System.err(26546): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1845)
01-11 16:09:38.466: W/System.err(26546): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893)
01-11 16:09:38.466: W/System.err(26546): at android.app.ActivityThread.access$1500(ActivityThread.java:135)
01-11 16:09:38.466: W/System.err(26546): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054)
01-11 16:09:38.466: W/System.err(26546): at android.os.Handler.dispatchMessage(Handler.java:99)
01-11 16:09:38.466: W/System.err(26546): at android.os.Looper.loop(Looper.java:150)
01-11 16:09:38.476: W/System.err(26546): at android.app.ActivityThread.main(ActivityThread.java:4385)
01-11 16:09:38.476: W/System.err(26546): at java.lang.reflect.Method.invokeNative(Native Method)
01-11 16:09:38.476: W/System.err(26546): at java.lang.reflect.Method.invoke(Method.java:507)
01-11 16:09:38.476: W/System.err(26546): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
01-11 16:09:38.476: W/System.err(26546): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607)
01-11 16:09:38.476: W/System.err(26546): at dalvik.system.NativeStart.main(Native Method)
Cảm ơn, tôi đã kết thúc bằng một thư viện mã nguồn mở bên thứ 3 cho những gì tôi cần là có không có vấn đề với tự động lấy nét. – MikeIsrael
@MikeIsrael Tôi đang đối mặt với cùng một vấn đề với ngoại lệ autoFocus Failed. bạn có thể cho tôi biết bạn đã sử dụng giải pháp nào không. Tôi nhận được ngoại lệ này đôi khi khi tôi bắt đầu máy ảnh trong ứng dụng của tôi không phải lúc nào. Cảm ơn bạn – Vikram
@Vikram Tôi cần một cái gì đó để quét mã vạch để cuối cùng tôi cuối cùng chỉ sử dụng zxing. Tôi đã không bao giờ có thể tìm thấy một lý do cho các ngoại lệ được ném ra, tôi nhớ cố gắng cấp phép khác nhau và tất cả mọi thứ. zxing là mã nguồn mở vì vậy bạn có thể chỉ muốn kiểm tra một số mã của họ và xem nó có thể giúp bạn không, hãy nhớ chú ý đến cấp phép của họ. – MikeIsrael