Видео исчезает при воспроизведении после использования UIImagePickerController в UIPopoverController - PullRequest
0 голосов
/ 10 марта 2011

У меня самое сложное время воспроизведения видео после выбора чего-либо из UIImagePickerController, когда UIImagePickerController представлен в UIPopoverController.

Вот код, который представляет видео:

-(void) presentMovie{



NSString *filePath = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"mov"];

NSURL *movieURL = [NSURL URLWithString:filePath];

[[mp moviePlayer] setContentURL:movieURL];
[[mp moviePlayer] prepareToPlay];

[[mp moviePlayer] setShouldAutoplay:NO];

[[mp moviePlayer] setControlStyle:MPMovieControlStyleEmbedded];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(videoPlayBackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];
[[mp moviePlayer] setAllowsAirPlay:YES];


[[mp view] setAutoresizingMask:UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight];
[screen addSubview:mp.view];
[[mp view] setFrame:screen.bounds];}

mp - это ивар MPMoviePlayerViewController, который выделяется и инициализируется в моем viewDidLoad

[selfsentMovie] работает отлично, если только он не вызывается из -imagePickerController: didFinishPickingMediaWithInfo: method

При вызове из этого метода делегата видео, отображаемое MPMoviePlayerVideoController, просто исчезает, как только оно воспроизводится. Если для свойства 'shouldAutoPlay' установлено значение YES, я просто вижу загрузку в течение доли секунды, а затем черноту. Если для свойства 'shouldAutoPlay' установлено значение NO, то я вижу первый кадр видео и могу перемещаться в другое место на видео, выводить видео на весь экран и т. Д., Но как только я нажимаю играть, вид, что видео в становится черным. Это верно, если видео, которое я пытаюсь воспроизвести, берется из выбора UIImagePickerController или из mainBundle. После выбора UIImagePicker видео не будет воспроизводиться.

Я прошел несколько этапов отладки, и этого не происходит с UIImagePickerControll, представленным в модальном представлении на iPhone, только когда он находится в UIPopoverController на iPad.

есть идеи? Кто-нибудь еще может успешно воспроизвести видео на iPad, выбранном из UIImagePickerController?

Ответы [ 2 ]

0 голосов
/ 18 июня 2011

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

Благодаря благоразумию @ UIImagePickerController при выборе видео предотвращает работу экземпляра MPMoviePlayerViewController

0 голосов
/ 25 марта 2011

Получается, что ответ "брось свой собственный", используя ALAsssetsLibrary. UIImagePickerContorller не работает с видео на iPad, и создание собственного пользовательского средства выбора не слишком сложно. На GitHub https://github.com/elc/ELCImagePickerController

приведен пример кода из WWDC 2010, а также код из Mat Tuzzolo *.
...