Как получить код времени AVCapture? - PullRequest
2 голосов
/ 14 июня 2011

Я работаю над приложением для захвата видео с использованием инфраструктуры AVFoundation, основанной на образце AVCam от Apple.Я хотел бы реализовать функциональность для установки максимальной длины видео, и чтобы захват автоматически останавливался при достижении этого предела (аналогично UIImagePickerController.videoMaximumDuration ).

Я предполагаю, чтонеобходимо зарегистрироваться для получения некоторого уведомления во время записи и проверки метки времени в этом обратном вызове.Я просмотрел Руководство по программированию AV Foundation и немного погуглил, и не могу найти способ извлечь прошедшее время AVCaptureSession, AVCaptureMovieFileOutput или AVCaptureSomethingElse.

Любое понимание поможетСпасибо!

1 Ответ

1 голос
/ 25 октября 2011

Вы можете установить maxRecordedDuration или maxRecordedFileSize. Однако необходимо убедиться, что вы правильно обрабатываете ошибку при вызове делегата captureOutput:didFinishRecordingToOutputFileAtURL:fromConnections:error:, чтобы определить, была ли запись остановлена ​​из-за ошибки или из-за достижения максимальной продолжительности / размера файла.

проверьте код ошибки, например:

if (([error code] == AVErrorMaximumDurationReached)) {
    [delegate captureSessionMaxDurationReached];
}
...