Подтвердить что ты не робот

Запись видео в iPhone: "cameraCaptureMode 1 недоступен, потому что mediaTypes содержит public.movie"

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

    UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.allowsEditing = YES;
    imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
    imagePickerController.delegate = self;
    [self presentModalViewController:imagePickerController animated:YES];
    [imagePickerController release];

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

10 раз заранее, Danail

4b9b3361

Ответ 1

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

Вместо этого:

imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;

Я изменил его на это:

imagePickerController.mediaTypes =  
        [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

и он работал.

Ответ 2

Добавьте к вышеуказанным ответам, как отметил Мико, вам нужно добавить MobileCoreServices.framework в свой проект и указать его в свой imagePickerController. Для тех, кто хочет переключиться под панелью инструментов в режиме просмотра изображений, просто установите делегат mediaTypes следующим образом:

imagePC.mediaTypes = [NSArray arrayWithObjects:(NSString *)kUTTypeMovie, (NSString *)kUTTypeImage, nil];

Теперь вы можете иметь как снятие неподвижных изображений, так и видео, наслаждайтесь!!!

Ответ 3

Для Swift 3.0 вам нужно добавить строку ниже, чтобы поддерживать как фото, так и видео

import MobileCoreServices

  imagePicker.mediaTypes = [kUTTypeMovie as String, kUTTypeImage as String]

Ответ 4

И если вы работаете со Swift, вам придется добавить MobileCoreServices.framework, а также следующий Модуль, где вы пытаетесь записать видео!

import MobileCoreServices

Тогда в целом ваш код будет что-то вроде этого

    var imag = UIImagePickerController()
    imag.delegate = self
    imag.sourceType = UIImagePickerControllerSourceType.Camera;
    imag.cameraDevice = UIImagePickerControllerCameraDevice.Rear //or Front
    imag.mediaTypes = [kUTTypeMovie];
    self.presentViewController(imag, animated: true, completion: nil)

Ответ 5

Этот метод откроет библиотеку видео в моем ipod 4. Не используйте видеокамеру моего устройства.

Кто-нибудь скажет мне, как разобраться с проблемой, я попробовал оба способа, описанные выше.

UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
    imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
    imagePickerController.allowsEditing = YES;
    imagePickerController.cameraCaptureMode = UIImagePickerControllerCameraCaptureModeVideo;
    imagePickerController.delegate = self;
    [self presentModalViewController:imagePickerController animated:YES];
    [imagePickerController release];

и

imagePickerController.mediaTypes =  
        [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

Спасибо за вашу помощь.

Ответ 6

введите код здесь. Попробуйте это, это откроет видеокамеру

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
                {
                    UIImagePickerController *tmp_picker=[[UIImagePickerController alloc]init];
                    tmp_picker.sourceType=UIImagePickerControllerSourceTypeCamera;


                    tmp_picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

                    tmp_picker.delegate=self;

                    [self presentModalViewController:tmp_picker animated:YES];
                    [tmp_picker release];
                    NSLog(@"button index is %i",buttonIndex);


                }

Ответ 7

Xcode 9 - Swift 4.x:

Соблюдайте порядок этих утверждений:

imagePickerController.mediaTypes = [kUTTypeMovie as String]
imagePickerController.cameraCaptureMode = .video

И вы не забыли добавить в info.plist:

введите описание изображения здесь