Я хотел было больше времени, чтобы написать более тщательный ответ. Вот некоторые упрощенные основы:
Для работы с аудио и видео, поступающими с аппаратного обеспечения, предназначенного для экрана или файлов, вам необходимо настроить AVCaptureSession, который помогает координировать источники и адресаты с использованием AVCaptureConnections. Вы используете экземпляр сеанса для запуска и остановки процесса, а также для установки некоторых свойств вывода, таких как битрейт и качество. Вы используете экземпляр AVCaptureConnection для управления соединением между AVCaptureInputPort и AVCaptureOutputPort (или AVCaptureVideoPreviewLayer), такими как мониторинг уровней входных сигналов или настройка ориентации видео.
AVCaptureInputPort - это разные входы от AVCaptureDevice - отсюда происходит ваше видео или аудио, например, камера или микрофон. Вы, как правило, просматриваете все доступные устройства и выбираете те, у которых есть свойства, которые вы ищете, например, если они являются аудио, или если они являются фронтальной камерой.
AVCaptureOutput где посылается AV - это может быть файл или процедуру, которая позволяет обрабатывать данные в режиме реального времени и т.д.
AVCaptureVideoPreviewLayer является OpenGL слой, который оптимизирован для очень быстрого рендеринга вывода выбранного устройства видеовхода (передняя или задняя камера). Вы обычно используете это, чтобы показать своему пользователю, с каким вводом вы работаете - вроде как видоискатель камеры.
Если вы собираетесь использовать этот материал, то вы должны читать AV Foundation Programming Guide
Вот образ Apple, который может помочь вам некоторые более (от упомянутого выше документа):
Более подробного вид:
Этот вопрос будет лучше сформулирован как «Я пытаюсь сделать X, я не понимаю эти части». В его нынешнем виде вы просите людей переписать документы для вас - это слишком много. – jrturton
@jrturton no, я прошу руководство в понимании логики того, как медиа-устройства правильно настроены и используются. – user1244109