Вопрос

Мне было интересно, возможно ли иметь 2 экземпляра предварительного просмотра камеры в Android. Я имею в виду, что запускает 2 экземпляра камеры одновременно. Если это так, как это будет делать это, необходимо ли реализовать экземпляр в другом потоке? Я раньше не использовал API камеры, поэтому я был бы признателен за это, если бы я смог получить голову по этому вопросу, поэтому я не трачу на это время. Спасибо.

Это было полезно?

Решение

Невозможно иметь два открытых соединения с камерой - вы должны заблокировать камеру, чтобы получить предварительный просмотр, и ее можно заблокировать только один раз. Действительно, если у вас заблокирована камера, и ваше приложение вылетает, прежде чем вы ее разблокируете, тогда никто не может использовать камеру!

Видеть http://developer.android.com/reference/android/hardware/camera.html#open%28int%29

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

...

Runtimeexception: если подключение к службе камеры не удается (например, если камера используется другим процессом).

Тем не менее, вы, безусловно, можете зарегистрировать обратный вызов предварительного просмотра и взять данные предварительного просмотра из вашего экземпляра камеры для использования в нескольких представлениях. Но имейте в виду проблемы с форматом YUV необработанных данных, предоставленных предварительным обратным вызовом: Получение кадров из видеоизображения в Android (Обратите внимание, что данные предварительного просмотра являются необработанными от драйвера камеры и могут варьироваться от устройства к устройству)

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top