googlesamples / android-vision

Deprecated: The Mobile Vision API is now a part of ML Kit: Check out this repo:
https://github.com/firebase/quickstart-android/tree/master/mlkit
Apache License 2.0
2.93k stars 1.73k forks source link

Chash when flash is ON #16

Open jiacontrerasp opened 9 years ago

jiacontrerasp commented 9 years ago

08-25 17:30:46.181 5077-5077/com.google.android.gms.samples.vision.face.multitracker E/AndroidRuntime﹕ FATAL EXCEPTION: main Process: com.google.android.gms.samples.vision.face.multitracker, PID: 5077 java.lang.RuntimeException: Fail to connect to camera service at android.hardware.Camera.(Camera.java:497) at android.hardware.Camera.open(Camera.java:342) at com.google.android.gms.vision.CameraSource.zzBZ(Unknown Source) at com.google.android.gms.vision.CameraSource.start(Unknown Source) at com.google.android.gms.samples.vision.face.multitracker.ui.camera.CameraSourcePreview.startIfReady(CameraSourcePreview.java:86) at com.google.android.gms.samples.vision.face.multitracker.ui.camera.CameraSourcePreview.access$200(CameraSourcePreview.java:31) at com.google.android.gms.samples.vision.face.multitracker.ui.camera.CameraSourcePreview$SurfaceCallback.surfaceCreated(CameraSourcePreview.java:109) at android.view.SurfaceView.updateWindow(SurfaceView.java:580) at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:176) at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1970) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) at android.view.Choreographer.doCallbacks(Choreographer.java:580) at android.view.Choreographer.doFrame(Choreographer.java:550) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

pm0733464 commented 9 years ago

Turning the camera flash to torch mode requires opening the camera. I'm assuming that your code did this in advance of working with CameraSource/CameraSourcePreview. The issue is that once the camera is open, any later attempts to open it again will fail -- this is what you are encountering here.

You'd probably need to create your own camera managing code instead of using CameraSource, if you need more fine-grained control of the camera. See the discussion here:

https://github.com/googlesamples/android-vision/issues/15

claywilkinson commented 8 years ago

@jiacontrerasp - The CameraSource source code has been added to the barcode-reader sample, and it also shows how to turn on torch mode.