UIImagePicker StartVideo Проблема - PullRequest
3 голосов
/ 04 июля 2011

Я использую кнопку наложения, чтобы начать запись видео на iPad.

Когда я вызываю [imagePickerController startVideoCapture], я получаю "получение индикатора активности видео уже очищено"

iPad не начинает запись. Запись начинается после повторного вызова startVideoCapture. Ниже мой код. Любая помощь будет оценена.

- (IBAction)startStop:(id)sender
{
    if (isCapturingVideo)
    {
         isCapturingVideo = FALSE;
        [self.imagePickerController stopVideoCapture];
    }

    else if (!isCapturingVideo)
    {   

        NSArray *mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:UIImagePickerControllerSourceTypeCamera];
        NSArray *videoMediaTypesOnly = [mediaTypes filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"(SELF contains %@)", @"movie"]];

        if ([videoMediaTypesOnly count] == 0)       //Is movie output possible?
        {
            UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Sorry but your device does not support video recording"
                                                                     delegate:nil
                                                            cancelButtonTitle:@"OK"
                                                       destructiveButtonTitle:nil
                                                            otherButtonTitles:nil];
            [actionSheet showInView:[[self view] window]];
            [actionSheet autorelease];
        }
        else
        {

            self.imagePickerController.mediaTypes = videoMediaTypesOnly;
            self.imagePickerController.videoQuality = UIImagePickerControllerQualityTypeMedium;
            self.imagePickerController.videoMaximumDuration = 180;
            self.imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
            self.imagePickerController.cameraDevice = UIImagePickerControllerCameraDeviceFront;
            isCapturingVideo = TRUE;
            BOOL result = [self.imagePickerController startVideoCapture];
            NSLog(@"Result Camera: %@", result?@"YES":@"NO");

        }


    }
}

1 Ответ

0 голосов
/ 05 июля 2011

Я считаю, что это связано с флагом isCapturingVideo в вашем коде.Документация гласит: Calling this method while a movie is being captured has no effect..
Я подозреваю, что флаг не обновляется должным образом.Вы можете попробовать принудительно закрыть (используя stopVideoCapture) видео перед запуском и посмотреть, работает ли оно.

...