Запуск 2 экземпляра камеры одновременно
-
14-10-2019 - |
Вопрос
Мне было интересно, возможно ли иметь 2 экземпляра предварительного просмотра камеры в Android. Я имею в виду, что запускает 2 экземпляра камеры одновременно. Если это так, как это будет делать это, необходимо ли реализовать экземпляр в другом потоке? Я раньше не использовал API камеры, поэтому я был бы признателен за это, если бы я смог получить голову по этому вопросу, поэтому я не трачу на это время. Спасибо.
Решение
Невозможно иметь два открытых соединения с камерой - вы должны заблокировать камеру, чтобы получить предварительный просмотр, и ее можно заблокировать только один раз. Действительно, если у вас заблокирована камера, и ваше приложение вылетает, прежде чем вы ее разблокируете, тогда никто не может использовать камеру!
Видеть http://developer.android.com/reference/android/hardware/camera.html#open%28int%29
Вы должны позвонить в release (), когда вы закончите с помощью камеры, в противном случае она останется заблокированной и останется недоступным для других приложений.
...
Runtimeexception: если подключение к службе камеры не удается (например, если камера используется другим процессом).
Тем не менее, вы, безусловно, можете зарегистрировать обратный вызов предварительного просмотра и взять данные предварительного просмотра из вашего экземпляра камеры для использования в нескольких представлениях. Но имейте в виду проблемы с форматом YUV необработанных данных, предоставленных предварительным обратным вызовом: Получение кадров из видеоизображения в Android (Обратите внимание, что данные предварительного просмотра являются необработанными от драйвера камеры и могут варьироваться от устройства к устройству)
Другие советы
Игнорируя большую, почему вопрос, лучше всего сделать услугу, которая взаимодействует с камерой, и оттуда.