У меня проблемы с доступом к обеим (передней и задней камерам одновременно). При включении одной камеры работает. Когда я сначала выключаю, а второй включаю, все работает. Это дает следующее исключение, когда я пытаюсь включить вторую камеру, в то время как первая все еще показывает изображение.
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 для одной аппаратной камеры, и я хотел создать второй объект для второго устройства.