MPMoviePlayerController不播放从UIImagePickerController中选取的电影

我有奇怪的MPMoviePlayerController行为。 它不想播放从UIImagePickerController的相机胶卷中select的电影。 但是当我用UIImagePickerController捕捉电影 – 有时它在MPMoviePlayerController罚款。

这是UIImagePickerController初始化:

mediaPickerController = [[[UIImagePickerController alloc] init] autorelease]; NSArray *types = [UIImagePickerController availableMediaTypesForSourceType:sourceType]; mediaPickerController.sourceType = sourceType; mediaPickerController.mediaTypes = types; mediaPickerController.videoQuality = qualityType; mediaPickerController.delegate = self; [self presentModalViewController:mediaPickerController animated:YES]; 

这是– (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info委托方法:

 - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info { NSURL *fileURL = [info objectForKey:UIImagePickerControllerMediaURL]; playerView = [[MPMoviePlayerController alloc] initWithContentURL:fileURL]; [playerView.view setFrame:mediaPreview.bounds]; [playerView setScalingMode:MPMovieScalingModeAspectFit]; [playerView setControlStyle:MPMovieControlStyleEmbedded]; [playerView setShouldAutoplay:NO]; [playerView prepareToPlay]; [mediaPreview addSubview:playerView.view]; } 

另一个奇怪的问题 – 当我使用UIImagePickerController的sourceType = Camera,然后委托返回下一个path,并播放罚款:

 UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/XXXXX-XXXXX/tmp/capture-T0x127bb0.tmp.5gFkOo/capturedvideo.MOV" 

但是当sourceType = Library时,path看起来不正确,电影在半秒出现并消失:

 UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/XXXXX-XXXXX/tmp//trim.ZPeyTU.MOV" 

有什么想法?

我有同样的事情,只发生在iPad 2上,而相同的确切代码在iPhone 4上正常工作。

事实certificate,图片select器在返回video后没有正确释放。

尝试在didFinishPickingMediaWithInfocallback中添加[picker release]。

这个问题很不明显。 媒体select器释放后的旧iPhone设备也尝试删除保存的文件。 因此,要正确使用它,我将其复制到“文档”文件夹(例如),然后将video设置为电影播放器​​。 4.3以后的设备没有这个问题。