Как записать видео на iPhone с помощью Objective-C?

#iphone #objective-c #video

#iPhone #objective-c #Видео

Вопрос:

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

Как я могу это сделать? Мой код выглядит следующим образом:

 -(IBAction)video:(id)sender { UIImagePickerController *picker = [[UIImagePickerController alloc] init]; picker.delegate = self; NSArray *sourceTypes = [UIImagePickerController availableMediaTypesForSourceType:picker.sourceType]; if (![sourceTypes containsObject:(NSString *)kUTTypeMovie ]){ NSLog(@"device not supported"); return; } picker.sourceType = UIImagePickerControllerSourceTypeCamera; picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeVideo]; picker.videoQuality = UIImagePickerControllerQualityTypeHigh; [self presentModalViewController:picker animated:YES]; } 
  

Комментарии:

1. Взгляните на руководство Apple . Это должно предоставить вам всю необходимую информацию. Если у вас есть какие-либо конкретные проблемы, вы можете задать их здесь.

Ответ №1:

Из руководств Apple по программированию

Начиная с iPhone OS 3.0, вы можете записывать видео с включенным звуком на поддерживаемые устройства. Для отображения интерфейса записи видео создайте объект UIImagePickerController и нажмите на него, как и для отображения интерфейса неподвижной камеры.

Для записи видео необходимо сначала проверить, доступен ли тип источника камеры (UIImagePickerControllerSourceTypeCamera) и доступен ли тип носителя видеофильма (kUTTypeMovie) для камеры. В зависимости от типов носителей, которые вы назначаете свойству mediaTypes, средство выбора может напрямую отображать фотокамеру или видеокамеру или интерфейс выбора, который позволяет пользователю выбирать.

Используя протокол UIImagePickerControllerDelegate, зарегистрируйтесь в качестве делегата средства выбора изображений. Ваш объект-делегат получает завершенную запись видео с помощью метода imagePickerController:didFinishPickingMediaWithInfo:.

На поддерживаемых устройствах вы также можете выбирать ранее записанные видео из библиотеки фотографий пользователя.

Для получения дополнительной информации об использовании класса image picker смотрите Ссылку на класс UIImagePickerController. Информацию об обрезке записанных видеороликов см. в разделе Ссылка на класс UIVideoEditorController и ссылка на протокол UIVideoEditorControllerDelegate.

После того, как у вас есть видео в вашем делегате UIImagePickerController, вы можете сохранить его в каталоге документов вашего приложения, используя стандартные файловые операции.

Комментарии:

1. на самом деле, когда я нажимаю на кнопку видео, мое приложение вылетает, и в nslog написано сообщение об ошибке

2. В симуляторе нет камеры. Итак, вы не можете это протестировать. Использовать устройство