AVCaptureMovieFileOutput startRecordingToOutputFileURL: recordingDelegate: не вызывает делегат - PullRequest
3 голосов
/ 12 января 2012

Я пытаюсь захватить видео, используя AVCaptureMovieFileOutput. Для этого я использую пример кода Apple. Я не очень разбираюсь в этом, но для начала захвата видео я использую следующий код:

-(void)startRecordingWithOrientation:(AVCaptureVideoOrientation)videoOrientation;
{
    AVCaptureConnection *videoConnection = [AVCamUtilities connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self movieFileOutput] connections]];
    if ([videoConnection isVideoOrientationSupported])
       [videoConnection setVideoOrientation:videoOrientation];

    [[self movieFileOutput] startRecordingToOutputFileURL:[self outputFileURL] recordingDelegate:self];
 // After this method my session say recording is yes.
}

Здесь:

[self movieFileOutput] возвращает объект AVCaptureMovieFileOutput. Теперь у меня есть методы делегата для обработки дальнейших вещей.

Вероятная часть - это методы делегата для AVCaptureMovieFileOutput, которые иногда вызываются, а иногда нет. Макс, вероятно, когда я выскакиваю эту страницу после первой записи, а затем возвращаюсь на этот экран, я сталкиваюсь с тем, что методы делегата не вызываются. Я должен убить приложение, и это работает для новой записи.

Пожалуйста, скажите мне решение.

EDIT: метод делегата вызывается только один раз, когда я удаляю приложение, а затем переустанавливаю приложение. После этого это никогда не называют. Даже если я не снимаю видео, не выхожу на экран и не возвращаюсь, мне не звонят. Я использую демонстрацию Apple AVCam и добавил экран перед экраном рекордера.

1 Ответ

2 голосов
/ 20 февраля 2012

Вы уверены, что файл, который вы пытаетесь сохранить, еще не существует? Если это произойдет, захват фильма не начнется, поэтому никакие методы не будут вызываться.

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