我已經嘗試了一切,但我仍然無法解決此問題。autoFocus拋出異常
我在應用程序中實現了一個攝像頭功能,除了自動對焦外,一切正常。當我調用autoFocus()時,它會拋出一個異常,我不明白爲什麼。我在Desire HD上運行代碼。
代碼:
@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();
}
}
堆棧跟蹤:
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)
謝謝,我結束了使用什麼,我需要的是有一個第三方的開源庫自動對焦沒有問題。 – MikeIsrael 2012-02-06 11:20:49
@MikeIsrael我面臨同樣的問題,對於autoFocus失敗的異常。你能告訴我你使用了什麼解決方案嗎?當我在我的應用程序中啓動相機並不是所有的時候,我都會遇到此異常。謝謝 – Vikram 2012-04-09 10:27:28
@Vikram我需要條形碼掃描的東西,所以最終我最終使用了zxing。我從來沒有找到拋出異常的原因,我記得嘗試不同的權限和一切。 zxing是開源的,所以你可能只想看看他們的一些代碼,看看它是否可以幫助你,確保注意他們的授權。 – MikeIsrael 2012-04-09 10:35:56