Использование обеих камер на android: «Не удалось подключиться к службе камеры»

У меня проблемы с доступом к обеим (передней и задней камерам одновременно). При включении одной камеры работает. Когда я сначала выключаю, а второй включаю, все работает. Это дает следующее исключение, когда я пытаюсь включить вторую камеру, в то время как первая все еще показывает изображение.

E/AndroidRuntime(32325): FATAL EXCEPTION: main
E/AndroidRuntime(32325): java.lang.RuntimeException: Fail to connect to camera service
E/AndroidRuntime(32325):    at android.hardware.Camera.native_setup(Native Method)
E/AndroidRuntime(32325):    at android.hardware.Camera.<init>(Camera.java:265)
E/AndroidRuntime(32325):    at android.hardware.Camera.open(Camera.java:226)
E/AndroidRuntime(32325):    at com.example.videostreamer.MainActivity$CameraHandler.start(MainActivity.java:116)
E/AndroidRuntime(32325):    at com.example.videostreamer.MainActivity$2.onClick(MainActivity.java:74)
E/AndroidRuntime(32325):    at android.view.View.performClick(View.java:2532)
E/AndroidRuntime(32325):    at android.widget.CompoundButton.performClick(CompoundButton.java:99)

В документации я нашел фразу, которая гласит:

public static Camera open (int cameraId)

Начиная с: API уровня 9 Создает новый объект Camera для доступа к конкретной аппаратной камере. Когда вы закончите использовать камеру, вы должны вызвать release (), иначе она останется заблокирован и будет недоступен для других приложений. В вашем приложении должен быть активен только один объект камеры одновременно для определенного аппаратная камера.

.. но у меня есть только один объект Camera для одной аппаратной камеры, и я хотел создать второй объект для второго устройства.

  1. Кто-нибудь знает, возможно ли это (я использую Android 2.3. 3)?
  2. Место: android.hardware.Camera.native_setup (Native Method) может предположить, что, вероятно, это ограничение оборудования / драйвера - я использую HTC Sensation.
11
задан Jakub Troszok 27 August 2011 в 14:46
поделиться