当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上成功播放视频?
答案 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