Информация о версии Основы AV для iOS 5
Эта статья суммирует некоторые новые функции и изменения в функциональности в Основе AV в iOS 5.
Содержание:
- UTIs и типы MIME
- Подготовка AVAsset для воспроизведения
- Выбор аудио и носителей подзаголовка согласно языку и другим критериям
- Уведомление о подзаголовках
- AirPlay поддерживают в AVPlayer
- Определение, доступны ли ускоренная перемотка и быстрое обратное воспроизведение
- Поиск и, ища, зная, что сделан поиск
- Уведомление о вычищении
- Фоновые и приоритетные переходы
- Воспроизведение аудио под заблокированным экраном
- Получение повернуло CVPixelBuffers от AVCaptureVideoDataOutput
- Установка минимальной и максимальной частоты видеокадров
- Обнаружение форматов пикселя поддерживается AVCaptureVideoDataOutput
- Определение, когда перефокусирование необходимо
- Определение флэш-памяти и доступности факела
- Используя факел LED как фонарь
- Нахождение соединений с данным типом среды
- Масштабирование и обрезка неподвижных изображений
- Управление анимацией затвора камеры
- Улучшения для приложений потокового видео
- Получение фильмов для редактирования приложений
UTIs и типы MIME
Новые методы класса были определены на AVURLAsset, предоставляющих информацию о типах файлов и типах MIME, поддерживаемых AVFoundation.
+audiovisualTypes обеспечивает NSArray, содержащий Универсальные Идентификаторы типов (UTIs), который поддерживает класс AVURLAsset.
+audiovisualMIMETypes обеспечивает NSArray, содержащий типы MIME, которые поддерживает класс AVURLAsset.
+isPlayableExtendedMIMEType: может использоваться, чтобы определить, указывает ли тип MIME, включающий параметр кодеков, как описано RFC 4281, тип ресурса, это играемо текущей платформой, устройством и программным контролем.
Обратите внимание на то, что категорическое определение того, играем ли определенный ресурс или подходит в какой-либо другой цели, требует исследования своего содержания; - [AVAsset isPlayable] и другие методы в категории AVAssetUsability доступны с этой целью.
Подготовка AVAsset для воспроизведения
Текущая версия Руководства по программированию Основы AV рекомендует для всех основанных на файле активов, чтобы приложения загрузили значение свойства дорожек актива прежде, чем создать AVPlayerItem с ним и связать AVPlayerItem с экземпляром AVPlayer. В то время как эта рекомендация является все еще наиболее успешной практикой для всех приложений с целью развертывания iOS 4.0-4.3, приложения с целью развертывания iOS 5.0 или более поздней потребности больше не загружают свойства AVAsset прежде, чем создать AVPlayerItem с ним и играть AVPlayerItem. Вместо этого те приложения должны загрузить только значения свойств AVAsset, который они исследуют или обработают сами, для отображения в пользовательском интерфейсе, для конфигурации воспроизведения, или в любой другой цели. Начиная с iOS 5.0 AVPlayer заботится о своих собственных потребностях загрузки.
Выбор аудио и носителей подзаголовка согласно языку и другим критериям
AVFoundation теперь предлагает функции открытия опций, которые могут быть предложены аудиовизуальными медиаресурсами для размещения отличающихся предпочтений языка, требований доступности, конфигураций пользовательского приложения и других потребностей, и для выбора этих опций для воспроизведения. Например, ресурс может содержать многократные слышимые опции, каждого с диалоговым окном, на котором говорят на различном языке, чтобы быть выбранным для воспроизведения исключая другие. Подобные возможности на нескольких языках могут также быть предоставлены для четких носителей, таких как подзаголовки. И основанное на файле содержание и HTTP Живое содержание Потоковой передачи могут предложить опции носителей. Получить информацию о группах опций, предлагающихся экземпляром AVAsset:
Загрузите значение ключа AVAsset availableMediaCharacteristicsWithMediaSelectionOptions использование AVAsynchronousKeyValueLoading. Когда загрузка завершена, - [AVAsset availableMediaCharacteristicsWithMediaSelectionOptions] обеспечит NSArray, который может содержать AVMediaCharacteristicAudible, AVMediaCharacteristicLegible, или AVMediaCharacteristicVisual, или любую комбинацию их, для указания доступности групп взаимоисключающих опций.
Каждая группа взаимоисключающих опций с характеристикой носителей интереса может быть получена через - [AVAsset mediaSelectionGroupForMediaCharacteristic:]. Для получения слышимых опций передайте AVMediaCharacteristicAudible и т.д. Каждая группа представлена экземпляром AVMediaSelectionGroup. Каждая опция в группе представлена экземпляром AVMediaSelectionOption. Оба из этих классов определяются в AVMediaSelectionGroup.h.
Исследовать доступные параметры в группе и отфильтровать их для выбора для воспроизведения:
AVMediaSelectionGroup предлагает методы в категории AVMediaSelectionOptionFiltering, выполняющие общие операции фильтрации на массивах AVMediaSelectionOptions, согласно тому, играемы ли опции, соответствуют желаемую локаль, или или имеют или не имеют специальных характеристик носителей, такой как, предлагают ли они определенные функции доступности. Характеристики носителей, указывающие присутствие функций доступности, которые могут быть использованы к опциям выбора фильтрующих сред, были определены в AVMediaFormat.h.
AVMediaSelectionOption предлагает информацию об опциях, которые могут использоваться для дисплея в пользовательском интерфейсе, позволяющем пользователям выбирать среди доступных параметров или в реализации определенных клиентами операций фильтрации. Поскольку пример определенной клиентами опции фильтрации в приложении, использующем пользовательские медиаресурсы, опции, можно считать имеющим право на выбор, только если их связанные метаданные содержат определенное значение.
Для выбора определенной опции в группе для воспроизведения используйте - [AVPlayerItem selectMediaOption:inMediaSelectionGroup:]. Для обнаружения опции, это в настоящее время выбирается для воспроизведения, используйте - [AVPlayerItem selectedMediaOptionInMediaSelectionGroup:].
Уведомление о подзаголовках
Необходимо соблюдать особую осторожность при отображении опций пользователю среди доступных четких опций для воспроизведения и при делании выбора среди доступных четких опций согласно пользовательским настройкам. Некоторое четкое содержание содержит «вызванные» подзаголовки, означая, что согласно намерению автора содержания подзаголовки должны быть выведены на экран, когда пользователь ни не указал предпочтение дисплея подзаголовков, ни сделал явный выбор опции подзаголовка. Принудительные подзаголовки обычно используются для передачи значения разговорного диалогового или видимого текста на языке, что контент-провайдер принимает, не будет обычно пониматься, когда понимание диалогового окна или текста, тем не менее, считается важным. Убедитесь, что Ваше приложение позволяет им быть выведенными на экран соответственно путем следования совету ниже.
AVMediaSelectionGroup для характерного AVMediaCharacteristicLegible может обеспечить два типа четких опций: 1) для дисплея четкого содержания это считало избирательным вместе с содержанием, которое это считало важным, и 2) для дисплея существенного четкого содержания только. Четкие AVMediaSelectionOptions, включающие существенное содержание только, имеют характеристику носителей AVMediaCharacteristicContainsOnlyForcedSubtitles (определенный в AVMediaFormat.h). При предложении четких опций для дисплея конечному пользователю в интерфейсе выбора, или при рассмотрении опций подзаголовка для автоматического выбора согласно пользовательской настройке для языка, должны быть исключены четкие опции с характерным AVMediaCharacteristicContainsOnlyForcedSubtitles. + [AVMediaSelectionOption mediaSelectionOptionsFromArray:withoutMediaCharacteristics:] Указание AVMediaCharacteristicContainsOnlyForcedSubtitles как характеристика для исключения, может использоваться для получения четких опций, подходящих для предложения конечному пользователю в интерфейсе выбора или для рассмотрения для выбора согласно пользовательской настройке.
Если пользователь не указывает предпочтения или не делает выбора четкого содержания, приложение должно выбрать одну из четких опций для воспроизведения, имеющего характерный AVMediaCharacteristicContainsOnlyForcedSubtitles, если кто-либо присутствует. Для большинства ресурсов, содержащих четкие опции с принудительными только подзаголовками, надлежащий выбор среди них может быть сделан в соответствии с текущим слышимым выбором. Используйте - [AVMediaSelectionOption associatedMediaSelectionOptionInMediaSelectionGroup:] для получения четкой опции связался со слышимой опцией. Если нет никаких других средних значений, доступных для выбора среди них, первая четкая опция с принудительными только подзаголовками в группе выбора носителей является надлежащим значением по умолчанию.
AirPlay поддерживают в AVPlayer
Маршрутизация аудио и видео к другому устройству через AirPlay не требует вмешательства или знания клиенты AVFoundation. Пользователи могут выбрать маршрутизацию AirPlay любого аудио или видео, играемого AVPlayer или путем взаимодействия с экземпляром MPVolumeView как предусмотрено в интерфейсе воспроизведения приложения или с Системой Средства выбора AirPlay, это - часть стандартного многозадачного интерфейса. Посмотрите ссылку класса MPVolumeView для подробных данных о том, как предложить маршрутизацию AirPlay пользователям в пользовательском интерфейсе Вашего приложения.
Играют ли аудио и видео на локальном устройстве или удаленно через AirPlay, существующие интерфейсы для управления воспроизведения, как определено на AVPlayer, AVQueuePlayer, и AVPlayerItem будет применяться.
Кроме того, AVPlayer теперь определяет свойства, позволяющие клиентам AVFoundation управлять способами поведения AirPlay и реагировать на маршрутизацию AirPlay.
allowsAirPlayVideo управляет, позволяет ли получатель видео быть направленным к внешнему устройству через AirPlay. Если Ваше приложение требует, чтобы видео было выведено на экран локально, обычно потому что состав видео с другим содержанием, это выведено на экран локально, важен для опыта Вашего приложения, установите значение allowsAirPlayVideo к НЕТ. Является также надлежащим установить это свойство в НЕ для экземпляров AVPlayer, использующихся для игры содержания только для аудио. Значением по умолчанию является YES.
airPlayVideoActive указывает, направляется ли видео в настоящее время к другому устройству через AirPlay. Это свойство является заметным значением ключа. Обратите внимание на то, что, когда видео направляется к внешнему устройству, AVPlayerLayer, который Вы связали с AVPlayer, ничего не выведет на экран. При тех обстоятельствах является надлежащим изменить Ваш дисплей для использования места, не иначе занятого; как минимум сообщение, что видео выводится на экран через AirPlay, может быть очень полезно пользователям.
usesAirPlayVideoWhileAirPlayScreenIsActive указывает, предпочитает ли приложение, чтобы видео было выведено на экран через Видео AirPlay, в то время как весь экран направляется к внешнему устройству через AirPlay. Является надлежащим установить это свойство в YES, когда приложение играет видео, занимающее весь экран; это позволяет видео играться внешним устройством в самом высоком доступном разрешении.
Определение, доступны ли ускоренная перемотка и быстрое обратное воспроизведение
AVPlayerItem теперь имеет свойства, позволяющие приложениям определять, возможно ли воспроизведение по форвардным курсам, больше, чем 1,0 и на обратных уровнях меньше чем-1.0. В то время как такие скорости воспроизведения возможны со всем основанным на файле содержанием, они возможны с HTTP Живое содержание Потоковой передачи только, когда исходный список воспроизведения предлагает носители, который позволяет его. Приложения могут хотеть настроить управление воспроизведением, предлагаемое пользователям для согласований со значениями этих свойств для в настоящее время элемента игры.
canPlayFastForward указывает, могут ли уровни, больше, чем 1,0, быть установлены на связанном AVPlayer для прямого воспроизведения
canPlayFastReverse указывает, могут ли уровни меньше чем-1.0 быть установлены на связанном AVPlayer для обратного воспроизведения
Поиск и, ища, зная, что сделан поиск
Ни один из вариантов-seekToTime: в соответствии с AVPlayer и AVPlayerItem выполняют искать работу синхронно. Поэтому без уведомления о некотором виде, может быть трудно сказать, произошел ли полный эффект искать работы; определение путем наблюдения эффекта искания на текущем времени не всегда достаточно, потому что искание на соседнее время с помощью типичных допусков не может иметь никакого эффекта на текущее время вообще. Для обеспечения индикации, когда искать работа или закончилась или была отменена AVPlayer и AVPlayerItem теперь определяют методы для поиска, принимающие, что указанный клиентами блок вызывается как уведомление.
- seekToTime:completionHandler: выполняет ту же работу как-seekToTime: когда работа поиска или закончена или отменена, и, кроме того, вызывает указанный блок. Блок берет параметр BOOL, чтобы указать, была ли закончена работа.
- seekToTime:toleranceBefore:toleranceAfter:completionHandler: выполняет ту же работу как-seekToTime:toleranceBefore:toleranceAfter: когда работа поиска или закончена или отменена, и, кроме того, вызывает указанный блок. Блок берет параметр BOOL, чтобы указать, была ли закончена работа.
Обратите внимание на то, что каждый последовательный ищет работу, инициируемую через любой из вариантов-seekToTime: неявно отменяет предшествующее, еще ищут не закончившуюся работу.
- [AVPlayerItem cancelPendingSeeks] может использоваться для отмены, ищут операции явно.
Уведомление о вычищении
Вычищение является распространенным словом для работы, в которой пользователь время от времени переходит в аудиовизуальном медиаресурсе, в произвольных инкрементах времени носителей и назад и вперед, в произвольных интервалах реального времени, иногда для определения местоположения определенной сцены интереса и иногда как способ предварительно просмотреть содержание ресурса. Вычищение обычно реализуется клиентами AVFoundation, поскольку преемственность ищет операции, для установки текущего времени AVPlayerItem ко времени, указанному текущей или недавней позицией подразумеваемой возможности UI, такой как ползунок. Как отмечено выше, потому что каждый последовательный ищет работу неявно, отменяет предшествующее, ищут работу, важно во время вычищения позволить, по крайней мере, некоторые ищут операции для окончания вместо того, чтобы быть отмененными новыми, так, чтобы пользователю подарили визуальную индикацию, что вычищение фактически имеет эффект.
Один способ гарантировать, чтобы достаточное число искало операции, закончится и что пользователь получит надлежащую визуальную обратную связь, должен объединить их в цепочку. Вместо того, чтобы инициировать новое ищут работу каждый раз, когда подразумеваемая возможность UI меняет положение, можно просто отметить время, когда его новая позиция указывает, и когда обработчик завершения для предшествующего ищет, вызывается, можно искать на время, указанное новой позицией подразумеваемой возможности UI, если то время изменилось, так как последние ищут.
Фоновые и приоритетные переходы
К фону
В iOS 4.x, воспроизведение любого экземпляра AVPlayer автоматически приостанавливается как приложение, создавшее его, отправляется в фон каждый раз, когда AVPlayer связан с любым экземпляром AVPlayerLayer, выводится ли AVPlayerLayer на экран на экране или нет, и имеет ли в настоящее время элемент игры видео носители или нет.
В iOS 5.0 воспроизведение AVPlayer автоматически приостанавливается как приложение, создавшее его, отправляется в фон, только если текущий элемент AVPLAYER выводит на экран видео на дисплее устройства.
К переднему плану
В iOS 4.x, автоматически прервано воспроизведение аудио в фоновом режиме другими приложениями, когда клиент AVFoundation приезжает в передний план каждый раз, когда любой экземпляр AVPlayerLayer существует в приложении. AVPlayerLayer не должен быть связан ни с каким AVPlayer.
В iOS 5.0 вышеупомянутое поведение продолжается, за исключением приложений, имеющих основной SDK iOS 5.0 или позже. Когда те приложения прибывают в передний план, воспроизведение аудио в фоновом режиме другими приложениями автоматически прервано, только если у них есть AVPlayer с текущим элементом, который должен обновить дисплей видео или на устройстве или на подключенном дисплее. Иначе воспроизведение фонового аудио будет продолжаться, пока дальнейшее пользовательское действие не требует прерывания.
Воспроизведение аудио под заблокированным экраном
(Когда экран заблокирован, в то время как приложение является frontmost приложением.)
Приложения, имеющие основной SDK iOS 5 или позже:
Когда экран будет заблокирован, приложения будут работать в фоновом режиме. Следовательно, чтобы продолжать играть под заблокированным экраном, приложения должны иметь фоновое аудио право.
Приложения, конфигурирующие их аудио, чтобы быть non-mixable, должны также зарегистрироваться для событий дистанционного управления, чтобы быть в состоянии начать играть под заблокированным экраном. Однако приложения, использующие non-mixable аудио, но не регистрирующиеся для событий дистанционного управления, будут продолжать играть под заблокированным экраном, если они начали играть, прежде чем экран был заблокирован.
Приложения, аудио которых является mixable потребностью только фоновое аудио право для игры под заблокированным экраном.
Приложения, имеющие основной SDK до iOS 5.0:
Когда экран будет заблокирован, приложения будут в состоянии играть аудио независимо от фонового аудио права или mixable поведения.
Получение повернуло CVPixelBuffers от AVCaptureVideoDataOutput
Клиенты могут теперь получить, физически повернул CVPixelBuffers в их AVCaptureVideoDataOutput-captureOutput:didOutputSampleBuffer:fromConnection: обратный вызов делегата. В предыдущих версиях iOS обращенная к передней стороне камера всегда поставляла бы буферы в AVCaptureVideoOrientationLandscapeLeft, и обращенная к задней стороне камера будет всегда поставлять буферы в AVCaptureVideoOrientationLandscapeRight. Поддерживаются все 4 AVCaptureVideoOrientations, и вращение аппаратно ускорено. Для запроса буферного вращения клиент вызывает-setVideoOrientation: на видео AVCaptureConnection AVCaptureVideoDataOutput. Обратите внимание на то, что физически циркулирующие буферы действительно идут с производительностью, стоят, поэтому только запрашивают вращение, если это необходимо. Если, например, Вы хотите повернутое видео, записанное в использование файла фильма в формате QuickTime AVAssetWriter, предпочтительно установить - преобразовывают свойство на AVAssetWriterInput, а не физически поворачивают буферы в AVCaptureVideoDataOutput.
Установка минимальной и максимальной частоты видеокадров
Начиная с iOS 4.0 клиенты были в состоянии скорректировать максимальную частоту кадров видео буферов, поставленных AVCaptureVideoDataOutput-captureOutput:didOutputSampleBuffer:fromConnection: использование обратного вызова делегата [AVCaptureVideoDataOutput setMinFrameDuration:]. В iOS 5 minFrameDuration свойство AVCaptureVideoDataOutput было осуждено, и новая пара свойств, представленных в AVCaptureConnection.
Для корректировки максимальной частоты кадров клиенты могут теперь использовать [AVCaptureConnection setVideoMinFrameDuration:].
Новый в iOS 5, для корректировки минимальной частоты кадров клиенты могут использовать [AVCaptureConnection setVideoMaxFrameDuration:].
Путем установки макс. и минута к тому же значению, клиенты могут достигнуть постоянного получения частоты кадров, за счет некоторой производительности недостаточной освещенности, где камера обычно регулировала бы частоту кадров для достижения более длительной выдержки.
Клиенты могут обнаружить, поддерживается ли установка макс. и минимальная продолжительность кадра для определенного соединения путем вызова [AVCaptureConnection isVideoMinFrameDurationSupported] или [AVCaptureConnection isVideoMaxFrameDurationSupported].
Обнаружение форматов пикселя поддерживается AVCaptureVideoDataOutput
Клиенты могут теперь запросить availableVideoCVPixelFormatTypes свойство AVCaptureVideoDataOutput для обнаружения, какие форматы пикселя поддерживаются текущим устройством и платформой.
Сжатый вывод видеоданных не поддерживается.
Определение, когда перефокусирование необходимо
Клиенты AVCaptureDevice могут заблокировать фокус, воздействие и/или баланс белого, если получатель поддерживает его, но когда-то заблокированный, эти свойства остаются заблокированными, даже если предметная область изменяется существенно должный или на существенное перемещение устройства на iOS или на предметы в поле зрения устройства захвата изображения. Новое выбирает - в механизме, был добавлен к AVCaptureDevice, чтобы позволить клиентам получать уведомление, когда предметная область изменяется существенно.
значения по умолчанию subjectAreaChangeMonitoringEnabled к НЕТ. Когда установлено в ДА, получатель AVCaptureDevice отправляет AVCaptureDeviceSubjectAreaDidChangeNotification каждый раз, когда его предметная область изменяется значительно.
Клиенты могут хотеть перефокусировать, скорректировать воздействие или баланс белого после получения этого уведомления.
Определение флэш-памяти и доступности факела
Клиенты AVCaptureDevice могут запросить, может ли он-hasFlash или-hasTorch и включить флэш-память или факел. Использование факела LED вырабатывает большое тепло. Непрерывное использование факела или флэш-памяти могло заставить устройство включения перегреваться, таким образом, под тепловым принуждением флэш-память и факел выключат автоматически. В iOS 5 AVCaptureDevice обеспечивает три новых свойства, представляющие текущее состояние флэш-памяти и факела.
flashAvailable является значением ключа заметное свойство, переключающееся к НЕ, когда модуль является слишком горячим для использования флэш-памяти. Клиенты могут запросить это свойство для управления связанным с флэш-памятью UI.
torchAvailable является значением ключа заметное свойство, переключающееся к НЕ, когда модуль является слишком горячим для использования факела. Клиенты могут запросить это свойство для управления связанным с факелом UI.
torchLevel является значением ключа заметное свойство, говорящее клиентам текущую силу факела, где 1.0 полная сила, и 0.0 выключено. Под тепловым принуждением факел может автоматически уменьшиться в интенсивности. Клиенты могут запросить это свойство для управления связанным с факелом UI.
flashActive является значением ключа заметное свойство, говорящее клиентам, будет ли флэш-память использоваться если [AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] вызывается. Если клиенты установили режим флэш-памяти в AVCaptureFlashModeAuto, это полезно.
Используя факел LED как фонарь
Предыдущие выпуски iOS требуют, чтобы AVCaptureSession работал, прежде чем клиент сможет включить факел LED. Следовательно, полный штабель получения выделяется и выполнение, приводящее к ненужной потребляемой мощности для приложений с помощью факела LED в качестве фонаря. В iOS 5 больше не необходимо выполнить AVCaptureSession для включения факела. Приложения фонаря могут теперь просто вызвать:
AVCaptureDevice *backCamera = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo]; |
if ( [backCamera isTorchAvailable] && [backCamera isTorchModeSupported:AVCaptureTorchModeOn] ) |
{ |
BOOL success = [backCamera lockForConfiguration:nil]; |
if ( success ) |
{ |
[backCamera setTorchMode:AVCaptureTorchModeOn]; |
[backCamera unlockForConfiguration]; |
} |
} |
Нахождение соединений с данным типом среды
Новый служебный метод AVCaptureOutput,-connectionWithMediaType: позволяет клиентам находить первое соединение вывода данного типа среды, не пишущий, что функция выполняет итерации через входные порты каждого соединения.
Масштабирование и обрезка неподвижных изображений
AVCaptureStillImageOutput теперь поддерживает масштаб неподвижного изображения и обрезку для моделирования эффекта «цифрового увеличения». Чтобы установить масштаб и обрезать фактор, клиенты вызывают [AVCaptureConnection setVideoScaleAndCropFactor:] на видеосоединении вывода неподвижного изображения. Значение должно быть между 1,0 (никакое масштабирование/обрезка) и результат [AVCaptureConnection videoMaxScaleAndCropFactor]. Когда видео фактор масштаба и обрезки установлен в значение выше, чем 1,0, AVCaptureStillImageOutput масштабирует полученное изображение указанными факторными и центральными обрезками результат назад к его первоначальному размеру с помощью аппаратного ускорения.
Управление анимацией затвора камеры
AVCaptureStillImageOutput обеспечивает новое значение ключа заметное свойство,-capturingStillImage, посредством чего клиент может узнать когда запрос к [AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] удовлетворяется. изменения-isCapturingStillImage в YES прямо перед изображением внесены и не изменяются ни на КАКОЕ право после того, как оно будет взято. Клиенты могут использовать это свойство для управления ирисовой анимацией или затвором камеры.
Улучшения для приложений потокового видео
Клиенты могут использовать новую предварительную установку сеанса AVCaptureSessionPreset352x288 для получения 352x288 измеренные видео буферы (CIF) из камеры. Эта предварительная установка поддерживается на всех устройствах, камерах передней и задней части. Клиенты должны всегда вызывать [AVCaptureDevice supportsAVCaptureSessionPreset:], чтобы гарантировать, что ввод поддерживает их желаемую предварительную установку.
Получение фильмов для редактирования приложений
AVCaptureSession обеспечивает две новых предварительных установки сеанса для помощи в создании доступного для редактирования содержания.
AVCaptureSessionPresetiFrame960x540 производит ЧЕТВЕРТЬ HD-ВИДЕО и получает использование фильмов AVCaptureMovieFileOutput в ~30 мегабитах/секунда с помощью I-кадра только H.264 + аудио AAC.
AVCaptureSessionPresetiFrame1280x720 производит видео на 720 пунктов и получает использование фильмов AVCaptureMovieFileOutput в ~40 мегабитах/секунда с помощью I-кадра только H.264 + аудио AAC.
Используя любую из этих предварительных установок, AVCaptureMovieFileOutput получает Apple iFrame совместимые фильмы (см. http://support.apple.com/kb/HT3905), что работа хорошо в iMovie и в других приложениях редактирования.
Copyright © 2015 Apple Inc Все права защищены. Условия использования | Политика конфиденциальности | обновленный: 12.10.2011