Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка платформы AVFoundation ссылка на протокол AVCaptureFileOutputDelegate

Опции
Развертывание Target:

На этой странице
Язык:

AVCaptureFileOutputDelegate

AVCaptureFileOutputDelegate протокол определяет интерфейс для делегатовAVCaptureFileOutput возразите, чтобы контролировать и управлять записями вдоль точных демонстрационных границ.

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import AVFoundation

Objective C

@import AVFoundation;

Доступность


Доступный в OS X v10.7 и позже.
  • Позволяет клиенту выбирать в структурировать точную запись в captureOutput:didOutputSampleBuffer:fromConnection:. (требуемый)

    Объявление

    Swift

    func captureOutputShouldProvideSampleAccurateRecordingStart(_ captureOutput: AVCaptureOutput!) -> Bool

    Objective C

    - (BOOL)captureOutputShouldProvideSampleAccurateRecordingStart:(AVCaptureOutput *)captureOutput

    Параметры

    captureOutput

    Файл получения вывел экземпляр, связанный с делегатом.

    Возвращаемое значение

    YEStrue если требуется кадр точная запись; иначе NOfalse.

    Обсуждение

    В приложениях, соединенных перед Пумой OS X, делегаты, реализующие captureOutput:didOutputSampleBuffer:fromConnection: метод может гарантировать, что запуск и остановка записи являются кадром, точным путем вызова startRecordingToOutputFileURL:recordingDelegate: или stopRecording из обратного вызова. Точная запись кадра требует, чтобы вывод получения применил outputSettings, когда сеанс начинает работать, таким образом, это готово запустить и/или прекратить записывать на любой данной границе кадра. Применение настроек сжатия для всей длины сеанса имеет питание, тепловое, и импликации CPU.

    В приложениях, соединенных на или после Пумы OS X, делегаты должны реализовать этот метод, чтобы указать, требуется ли кадр точная запись. Файл получения вывел, вызывает этот метод только один раз, когда делегат добавляется и никогда снова. Если возвращается Ваш делегат NOfalse, вывод файла получения применяет настройки сжатия только когда startRecordingToOutputFileURL:recordingDelegate: вызывается и отключает эти настройки, как только останавливается запись.

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.8 и позже.

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

    Объявление

    Swift

    optional func captureOutput(_ captureOutput: AVCaptureFileOutput!, didOutputSampleBuffer sampleBuffer: CMSampleBuffer!, fromConnection connection: AVCaptureConnection!)

    Objective C

    - (void)captureOutput:(AVCaptureFileOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection

    Параметры

    captureOutput

    Вывод файла получения, получающий данные носителей.

    sampleBuffer

    A CMSampleBuffer объект, содержащий демонстрационные данные и дополнительную информацию о выборке, такой как ее формат и время представления.

    connection

    AVCaptureConnection объект присоединил к выводу файла, из которого были получены демонстрационные данные.

    Обсуждение

    Этот метод вызывают каждый раз, когда вывод файла получает единственный демонстрационный буфер (единственный видеокадр или аудио буфер, например) от данного соединения. Это дает делегатам возможность запустить и прекратить записать или изменять выходные файлы на точной демонстрационной границе. Если вызвано из этого метода, вывод файла startRecordingToOutputFileURL:recordingDelegate: и resumeRecording методы, как гарантируют, будут включать полученный демонстрационный буфер в новый файл, тогда как вызовы к stopRecording и pauseRecording как гарантируют, будут включать все демонстрационное продвижение до тех в текущем демонстрационном буфере в существующем файле.

    Можно собрать информацию, определенную к выборкам путем проверки CMSampleBuffer объект. Демонстрационные буферы всегда содержат единственный кадр видео, если вызвано от этого метода, но могут также содержать многократные выборки аудио. Для форматов видео B-кадра выборки всегда поставляются в порядке представления.

    Если необходимо сослаться CMSampleBuffer объект за пределами объема этого метода, необходимо сохранить его и затем выпустить его, когда Вы закончили с ним.

    Для поддержания оптимальной производительности некоторая выборка буферизует непосредственно ссылочные пулы памяти, которая, возможно, должна быть снова использована системой устройства и другими вводами получения. Это часто имеет место для несжатого собственного получения устройства, где блоки памяти копируются как можно меньше. Если многократные демонстрационные буферы сошлются на такие пулы памяти слишком долго, то вводы больше не будут в состоянии скопировать новые выборки в память, и те выборки будут отброшены. Если Ваше приложение заставляет выборки быть отброшенными путем сохранения предоставленного CMSampleBuffer объекты слишком долго, но этому нужен доступ к демонстрационным данным в течение длительного периода времени, рассмотрите копирование данных в новый буфер и затем вызов CFRelease на демонстрационном буфере (если это было ранее сохранено) так, чтобы память это сослалось, может быть снова использован.

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

    Оператор импорта

    Objective C

    @import AVFoundation;

    Swift

    import AVFoundation

    Доступность

    Доступный в OS X v10.7 и позже.