Iphone UIVideoEditorController中断MPMoviePlayerServiceWController?

Iphone UIVideoEditorController中断MPMoviePlayerServiceWController?,iphone,cocoa-touch,mpmovieplayercontroller,Iphone,Cocoa Touch,Mpmovieplayercontroller,在我的应用程序中,我可以使用如下代码播放视频: - (void)playVideo:(NSURL *)url { MPMoviePlayerViewController *m = [[[MPMoviePlayerViewController alloc] initWithContentURL:url] autorelease]; [self.rootViewController presentMoviePlayerViewControllerAnimated:m]; } 而且效

在我的应用程序中,我可以使用如下代码播放视频:

- (void)playVideo:(NSURL *)url {
    MPMoviePlayerViewController *m = [[[MPMoviePlayerViewController alloc] initWithContentURL:url] autorelease];
    [self.rootViewController presentMoviePlayerViewControllerAnimated:m];
}
而且效果很好

但如果我使用这样的代码来显示视频编辑器:

- (void)editVideo:(NSString *)file {
    UIVideoEditorController *ed = [[[UIVideoEditorController alloc] init] autorelease];
    ed.delegate = self;
    ed.videoPath = file;
    [self.rootViewController presentModalViewController:ed animated:YES];
}

- (void)videoEditorControllerDidCancel:(UIVideoEditorController *)vc {
    [vc.parentViewController dismissModalViewControllerAnimated:YES];
}
只需点击cancel,
播放视频:
方法将不再播放视频!它会很好地打开电影播放器窗口,并进行跳动以指示加载,但一旦加载完成,它就会失败。有时它会立即关闭视频窗口而不播放任何内容,有时它会变成一个黑屏,不响应任何输入(但如果我将应用程序发送到后台,然后将其带回前台,它就会消失)。但事实并非如此,因为如果我故意泄露mpmovieplayervicewcontroller,我会得到同样的黑屏


是我做错了什么,还是苹果的垃圾刚刚坏了?

我也看到了同样的问题。当UIVideoEditorController被解除时,设置MPMoviePlayerViewController的contentURL似乎也不起作用。实际上,我的问题不同,因为我的当前视图中安装了一个MPMoviePlayerViewController及其视图。当我打开UIVideoEditorController编辑视频时,它被取消,MPMoviePlayerViewController视图将为空。解决方法是在显示UIVideoEditorController之前,将MPMoviePlayServiceWController的contentURL设置为nil。然后,当UIVideoEditorController完成时,我可以将contentURL设置回旧值,但只有在稍微延迟之后。