简体   繁体   English

CWAC-在S5上开启闪光灯模式时不捕获图像

[英]CWAC - do not capture image when flash mode is ON on s5

I am using CWAC camera lib to capture images. 我正在使用CWAC相机库捕获图像。 Camera does not capture image when flash mode set as ON setFlashMode(Parameters.FLASH_MODE_ON); 闪光灯模式设置为ON时,相机不捕获图像setFlashMode(Parameters.FLASH_MODE_ON); on s5. 在s5。

I have also tried this using demo provided with library.Just flash appears and nothing happens. 我也使用库提供的演示来尝试了此操作。 For subsequent capture action it throws exception,the stack trace is using demo : 对于随后的捕获操作,它将引发异常,堆栈跟踪正在使用demo:

3-25 16:11:23.058  23419-23419/com.commonsware.cwac.camera.demo E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.commonsware.cwac.camera.demo, PID: 23419
java.lang.IllegalStateException: Preview mode must have started before you can take a picture
        at com.commonsware.cwac.camera.CameraView.takePicture(CameraView.java:331)
        at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:162)
        at com.commonsware.cwac.camera.demo.DemoCameraFragment.takeSimplePicture(DemoCameraFragment.java:242)
        at com.commonsware.cwac.camera.demo.DemoCameraFragment.onOptionsItemSelected(DemoCameraFragment.java:129)
        at android.app.Fragment.performOptionsItemSelected(Fragment.java:1806)
        at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1978)
        at android.app.Activity.onMenuItemSelected(Activity.java:2711)
        at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1094)
        at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
        at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152)
        at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
        at com.android.internal.view.menu.ActionMenuView.invokeItem(ActionMenuView.java:645)
        at com.android.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:210)
        at android.view.View.performClick(View.java:4637)
        at android.view.View$PerformClick.run(View.java:19422)
        at android.os.Handler.handleCallback(Handler.java:733)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5586)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084)
        at dalvik.system.NativeStart.main(Native Method)

How can be solved this issue? 如何解决这个问题?

onPictureTaken(byte[] data, Camera camera)

of PictureTransactionCallback does not get invoked in this case. 在这种情况下,不会调用PictureTransactionCallback

Device : Samsung Galaxy S5, android 4.4.2 设备:三星Galaxy S5,Android 4.4.2

Thanks :-) 谢谢 :-)

It also happened to me. 这也发生在我身上。 The reason why is because I have provided a SimpleCameraHost which overrides the method useSingleShotMode which returns always true. 原因是因为我提供了一个SimpleCameraHost,它覆盖了方法useSingleShotMode,该方法始终返回true。

I just return it as false then I don´t see this problem again. 我只是将其返回为false,然后就再也看不到这个问题了。

    @Override
    public boolean useSingleShotMode() {
        return false;
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM