iPhone UIImagePickerController Видеоплеер получить выбранное местоположение видео - PullRequest
1 голос
/ 31 января 2012

Я занимаюсь разработкой приложения, в котором я использовал UIImagePickerController для выбора видео. Я использую XCode 3.2.5. Я использовал следующий код

UIImagePickerController *picker;
picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.videoQuality = UIImagePickerControllerQualityTypeHigh;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.allowsEditing = NO;  
picker.mediaTypes = [NSArray arrayWithObject:(NSString *)kUTTypeMovie];

Это позволяет мне просматривать только те видео, которые у меня есть в PhotoLibrary. Но когда я выбираю видео, оно открывается в видеоплеере. Там есть варианты выбрать видео для сжатия или вернуться к предыдущему виду. Когда я нажимаю на кнопку сжатия, приложение зависает на симуляторе, но на устройстве видео сжимается, а UIImagePickerController закрывается.

Я действительно хотел передать местоположение этого видео, как только пользователь выберет его из PhotoLibrary, но оно автоматически открывается в видеопроигрывателе. Есть ли какой-либо метод делегата, который можно вызвать, когда пользователь выбирает видео из библиотеки фотографий с помощью UIImagePickerController. Я перепробовал все методы делегата UIImagePickerControllerDelegate, но они выполняются только если мы выбираем изображение, а не видео. Кроме того, возможно ли добавить функциональность в проигрыватель, который воспроизводит видео внутри UIImagePickerController. Есть ли работа вокруг решения. Пожалуйста помоги.

1 Ответ

1 голос
/ 31 января 2012

1). Я хотел на самом деле передать местоположение этого видео, как только пользователь выберет его из PhotoLibrary : - Для этого вы можете использовать didFinishPickingMediaWithInfo метод делегирования, например:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
   NSURL *selectedVideoUrl = [info objectForKey:UIImagePickerControllerMediaURL];
}
...