Запуск 2 экземпляров камеры одновременно - PullRequest
4 голосов
/ 04 января 2011

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

Ответы [ 2 ]

2 голосов
/ 04 января 2011

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

См. http://developer.android.com/reference/android/hardware/Camera.html#open%28int%29

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

...

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

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

0 голосов
/ 04 января 2011

Не обращая внимания на большой вопрос «Почему?», Вам лучше всего создать сервис, который взаимодействует с камерой, и идти дальше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...