Камера CWAC показывает черный пустой экран, и приложение аварийно завершает работу во время съемки.

Все,

Я использую библиотеку CWAC-Camera-v9 в своем приложении.

Я вижу пустой экран во время запуска камеры, и приложение вылетает во время съемки с сообщением об ошибке ниже.

09-24 18:40:08.915: D/PortraitCameraActivity(24228): [DEBUG] Camera takePicture
09-24 18:40:08.920: D/AndroidRuntime(24228): Shutting down VM
09-24 18:40:08.920: W/dalvikvm(24228): threadid=1: thread exiting with uncaught exception (group=0x410f92a0)
09-24 18:40:08.925: D/VM Util(24228): Preview mode must have started before you can take a picture
09-24 18:40:08.925: D/VM Util(24228): java.lang.IllegalStateException: Preview mode must have started before you can take a picture
09-24 18:40:08.925: D/VM Util(24228):   at com.commonsware.cwac.camera.CameraView.takePicture(CameraView.java:330)
09-24 18:40:08.925: D/VM Util(24228):   at com.commonsware.cwac.camera.CameraFragment.takePicture(CameraFragment.java:162)
09-24 18:40:08.925: D/VM Util(24228):   at android.view.View.performClick(View.java:4211)
09-24 18:40:08.925: D/VM Util(24228):   at android.view.View$PerformClick.run(View.java:17267)
09-24 18:40:08.925: D/VM Util(24228):   at android.os.Handler.handleCallback(Handler.java:615)
09-24 18:40:08.925: D/VM Util(24228):   at android.os.Handler.dispatchMessage(Handler.java:92)
09-24 18:40:08.925: D/VM Util(24228):   at android.os.Looper.loop(Looper.java:137)
09-24 18:40:08.925: D/VM Util(24228):   at android.app.ActivityThread.main(ActivityThread.java:4898)
09-24 18:40:08.925: D/VM Util(24228):   at java.lang.reflect.Method.invokeNative(Native Method)
09-24 18:40:08.925: D/VM Util(24228):   at java.lang.reflect.Method.invoke(Method.java:511)
09-24 18:40:08.925: D/VM Util(24228):   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
09-24 18:40:08.925: D/VM Util(24228):   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
09-24 18:40:08.925: D/VM Util(24228):   at dalvik.system.NativeStart.main(Native Method)

Любые указатели будут действительно полезны.

РЕДАКТИРОВАНИЕ Тестовым устройством является Samsung Galaxy S3 GT-I9300. Камера в родном приложении работает нормально.

Я пытаюсь использовать библиотеку камер в кроссплатформенном инструменте под названием Kony. Kony без проблем компилирует и интегрирует библиотеку. Но при запуске камеры я вижу эту проблему.

Могу ли я узнать вероятные условия, при которых камера не загружается.

Я пытаюсь запустить MainActivity в образце CameraDemo-V9, как показано ниже.

Intent myIntent = new Intent(CamTestActivity.this, com.commonsware.cwac.camera.acl.demo.MainActivity.class);
this.startActivity(myIntent);

Ожидается, что этот образец работает в собственном проекте Android.

-- Спасибо, Сунил.


person sunil    schedule 29.09.2014    source источник


Ответы (1)


Что касается исключения, вы делаете снимок до того, как был настроен предварительный просмотр, на основании сообщения об ошибке.

Что касается черного экрана, я не знаю, что может быть причиной этого. Попробуйте запустить одно из демонстрационных приложений и посмотрите, правильно ли оно работает. Если это не так, возможно, существует некоторая несовместимость между библиотекой и вашим устройством, и в этом случае мне нужно знать особенности вашего устройства. Если демонстрационное приложение работает, вероятно, в настройке чего-то не хватает, поэтому вы можете сравнить свой код с кодом демо-приложения.

person CommonsWare    schedule 29.09.2014
comment
@sunil: Извините, но я не знаю, что вам сказать. Возможно, у Кони нет соответствующих разрешений. Обратите внимание, что ваше объяснение и ваша трассировка стека не совпадают, поскольку ваша трассировка стека не исходит от com.commonsware.cwac.camera.acl.demo.MainActivity. - person CommonsWare; 30.09.2014
comment
Ты прав. Я использовал стороннюю библиотеку, в которой использовалась ваша камера. Я столкнулся с этой проблемой. След был от этого приложения. Итак, попытался вызвать ваш пример активности из другой активности. Опять та же проблема. Проблема была решена, когда я включил флаг hardwareAccelerated для действия, в котором используется камера. Спасибо за вашу помощь. Видите ли вы какие-либо проблемы с включением флага hardwareAccelerated для активности? - person sunil; 01.10.2014