在UIPopoverController中使用UIImagePickerController后播放时视频消失

时间:2011-03-10 18:18:06

标签: ipad mpmovieplayercontroller uiimagepickercontroller uipopovercontroller

当UIImagePickerController在UIPopoverController中呈现时,我在UIImagePickerController中选择任何内容之后播放视频的时间最艰难。

以下是展示视频的代码:

-(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 ivar,在我的viewDidLoad中分配和初始化

[self presentMovie]完美无缺,除非从-imagePickerController中调用它:didFinishPickingMediaWithInfo:method

当从该委托方法调用时,MPMoviePlayerVideoController显示的视频一旦播放就会立即消失。如果'shouldAutoPlay'属性设置为YES,我只看到加载一瞬间然后黑度。如果'shouldAutoPlay'属性设置为NO,那么我会看到视频的第一帧,我可以擦洗到vido中的其他位置,将视频输入和输出全屏等等,但是当我点击时播放时,视频处于黑色的视图。如果我尝试播放的视频来自UIImagePickerController选择或来自mainBundle,则会出现这种情况。选择UIImagePicker后,视频将无法播放。

我已经完成了几个调试步骤,只有在iPhone上的UIPopoverController中,UIImagePickerControll才会出现在iPhone上的模态视图中,这不会发生。

任何想法?是否有其他人能够在从UIImagePickerController中选择的iPad上成功播放视频?

2 个答案:

答案 0 :(得分:0)

使用ALAsssetsLibrary,答案是“滚动你自己”。 UIImagePickerContorller不适用于iPad上的视频,并且创建自己的自定义选择器并不太难。来自WWDC 2010的示例代码以及来自GitHub上的Mat Tuzzolo的代码https://github.com/elc/ELCImagePickerController

答案 1 :(得分:0)

我有这个问题,从UIImagePickerController中挑选后视频无法播放,但我没有完全释放弹出窗口。当我正确地发布它时,它工作正常。

感谢谨慎@ UIImagePickerController choosing video prevents MPMoviePlayerViewController instance from working