Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/111.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone MPMoviePlayerController不播放从UIImagePickerController拾取的电影_Iphone_Ios_Mpmovieplayercontroller - Fatal编程技术网

Iphone MPMoviePlayerController不播放从UIImagePickerController拾取的电影

Iphone MPMoviePlayerController不播放从UIImagePickerController拾取的电影,iphone,ios,mpmovieplayercontroller,Iphone,Ios,Mpmovieplayercontroller,我有奇怪的MPMoviePlayerController行为。它不想播放刚从UIImagePickerController的相机卷中选择的电影。但当我用UIImagePickerController拍摄电影时——有时它在MPMoviePlayerController中播放得很好 这是UIImagePickerController初始化: mediaPickerController = [[[UIImagePickerController alloc] init] autorelease]; NS

我有奇怪的MPMoviePlayerController行为。它不想播放刚从UIImagePickerController的相机卷中选择的电影。但当我用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];   
这是-(无效)imagePickerController:(UIImagePickerController*)选取器完成了用信息(NSDictionary*)信息选择媒体的过程委托方法:

- (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时,代理返回下一个路径并播放良好:

UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/XXXXX-XXXXX/tmp/capture-T0x127bb0.tmp.5gFkOo/capturedvideo.MOV"
但当sourceType=Library时,路径看起来不正确,电影以半秒的速度出现并消失:

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

有什么想法吗?

我也有同样的想法,只出现在iPad2上,而同样的代码在iPhone4上运行得很好

结果是,在返回视频后,图像选择器没有被正确释放


尝试在didFinishPickingMediaWithInfo回调中添加[picker release]。

我也有同样的情况,只发生在iPad2上,而同样的代码在iPhone4上运行良好

结果是,在返回视频后,图像选择器没有被正确释放


尝试在didFinishPickingMediaWithInfo回调中添加[picker release]。

问题并不明显。旧版iPhone设备在释放媒体选择器后也会尝试删除保存的文件。所以为了正确地使用它,我将它复制到文档文件夹(例如)之前,然后将视频设置为电影播放器。
4.3之后的设备没有这个问题。

这个问题并不明显。旧版iPhone设备在释放媒体选择器后也会尝试删除保存的文件。所以为了正确地使用它,我将它复制到文档文件夹(例如)之前,然后将视频设置为电影播放器。
4.3之后的设备没有这个问题。

非常感谢您的回答。[picker release]解决了我的问题。@mikewoz:谢谢你的建议。我相信这对iPad有帮助,但这种方法并不能解决iPhone 3G和3GS设备的问题。目前,我暂时使用缩略图图像进行预览,因为我的应用程序应该可以在iPad(iPhone upper 3G)上运行,也可以在传统设备上运行。非常感谢您的回答。[picker release]解决了我的问题。@mikewoz:谢谢你的建议。我相信这对iPad有帮助,但这种方法并不能解决iPhone 3G和3GS设备的问题。目前,我暂时使用缩略图图像进行预览,因为我的应用程序应该可以在iPad(iPhone upper 3G)上运行,也可以在传统设备上运行。