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以后的设备没有这个问题。