Подтвердить что ты не робот

Может ли запись iPhone4 с передней и задней камеры одновременно?

Я изучаю приложение в настоящий момент. Одной из интересных идей, которые возникли, были запись как с фронтальной камеры, так и с камеры факторизации одновременно. Любой из вас знает, возможно ли это?

Спасибо:)

EDIT: Я имею в виду передние и задние камеры. Я хочу записать с обеих камер одновременно на два отдельных потока. Надеюсь, я немного понятнее.

4b9b3361

Ответ 1

Это то, что API позволяет. Я пробовал три подхода на iPhone 4, работающий на последней версии iOS, 4.2.1.

Во-первых, я попытался использовать один сеанс захвата с подключенными к ним видеоустройствами. Прикрепление второго устройства создает исключение:

Завершение приложения из-за неотображаемого исключение "NSInvalidArgumentException", причина: '* Несколько аудио/видео В настоящее время AVCaptureInputs поддерживается.

Во-вторых, я попытался настроить два разных сеанса, каждый из которых имеет только одну камеру и запускает их одновременно. Это заставило первую сессию сообщать о кадрах примерно секунду, но как только вторая начинает первые остановки по своему собственному желанию. Порядок, в котором вы отправляете "startRunning", диктует, какой из сеансов в конечном итоге удастся вытеснить другого.

Наконец, я попробовал простой подход пинг-понга. Поэтому я создаю две сессии, начинаю первый, и как только он сообщает кадр, остановите его и запустите второй. Затем остановите второй и начните первый, до бесконечности. К сожалению, задержка между запросом начала сеанса и получением первого кадра оставила меня примерно с одним кадром каждые две секунды.

Конечно, возможно, я ошибался в своем коде, но я склонен сказать, что это невозможно для текущего оборудования или ОС. Я подключу уведомления AVCaptureSession, чтобы узнать, есть ли у меня явная причина, по которой останавливается и обновляется эта запись.

Дополнения: моя программа получает только уведомления AVCaptureSessionDidStartRunningNotification, по одному от каждого сеанса захвата. Тот, который останавливается, не сообщает об ошибке, прерывании или другой остановке. Я также не могу найти проблему с моим кодом, например повторное использование объекта или очереди отправки, что может привести к этой проблеме.

Ответ 2

Кажется, что можно записывать с нескольких видеовходов с использованием AVFoundation API. Согласно documentation, в AVCaptureSession можно использовать несколько входов AVCaptureDevice. В iPhone 4 это означает, что сеанс может иметь как AVCaptureDevices для обеих камер. На практике это может оказаться невыполнимым. Я не пробовал, поэтому не могу сказать с уверенностью.

Я не думаю, что стандартный UIImagePickerController может использоваться для записи из обоих одновременно.