UIImagePicker и AVCaptureSession одновременно получают доступ к камере

Мне интересно, возможно ли, чтобы экземпляры AVCaptureSession и UIImagePicker одновременно обращались к камере.

Я хочу создать приложение, которое показывает измеритель/индикатор внешней освещенности в виде наложения UIImagePicker, когда камера активна. Ранее я реализовал это с помощью UIGetScreenImage(), но теперь Apple запрещает использование этого частного API в пользу AVCaptureSession. В моем эксперименте AVCaptureSession, кажется, приостанавливается, когда UIImagePicker отображает вид с камеры. Любые идеи? Спасибо!


person Casey Flynn    schedule 19.10.2010    source источник
comment
Они не могут одновременно получить доступ к устройству камеры. Как UIGetScreenImage() решил эту проблему? Вы хотите снимок с включенным счетчиком?   -  person John Carter    schedule 24.11.2010
comment
Привет, @John Carter, UIGetScreenImage() просто сделал снимок экрана, который я мог использовать для анализа уровня окружающего освещения изображения, показываемого с камеры.   -  person Casey Flynn    schedule 30.11.2010
comment
Хорошо, тогда вам нужно запустить AVCaptureSession (чтобы представить ваше живое изображение), а затем, если вы хотите сделать снимок, вы используете AVCaptureStillImageOutput или (что мне больше знакомо) AVCaptureVideoDataOutput. Ваш измеритель должен иметь возможность просмотра в реальном времени, как я делаю, чтобы преобразовать вид в реальном времени в черно-белый или другие эффекты в Live Effects Cam.   -  person John Carter    schedule 30.11.2010


Ответы (2)


Вы вообще не должны использовать UIImagePicker для этого. Вместо этого вы должны использовать AVCaptureSession.

Вот два урока, которые помогут вам. В первом показано, как настроить вид с камеры в реальном времени и наложить сверху элементы пользовательского интерфейса. Вы можете найти это здесь.

Во втором уроке показано, как сделать снимок с камеры в режиме реального времени. Вы можете найти это здесь.

person jj0b    schedule 17.04.2011

Я не думаю, что они не могут получить доступ к обеим вещам одновременно,

person Chandaboy    schedule 22.01.2011