我试图通过两种方法在iOS 6.0中通过MPMoviePlayerController播放视频。
以下是它的摘录。
-(void) playMovie
{
self.moviePlayer = [[MPMoviePlayerController alloc] init];
[self.moviePlayer prepareToPlay];
[self.moviePlayer setContentURL:self.movieURL];
self.moviePlayer.movieSourceType = MPMovieSourceTypeFile;
[self.moviePlayer.view setFrame:CGRectMake ( 0, 0, 320, 476)];
[self.view addSubview:self.moviePlayer.view];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayBackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.moviePlayer];
[self.moviePlayer play];
}
我尝试将属性moviePlayer
视为强大并保留但没有用处。
我的问题与此Question非常相似,视频会在一秒钟内停止。但是,如果您正在播放通过互联网播放的视频,则可以正常使用。
以下是我尝试过的Git Source Code
答案 0 :(得分:1)
尝试像这样初始化self.moviePlayer
self.moviePlayer = [[MPMoviePlayerController alloc]initWithContentURL:[NSURL fileURLWithPath:contentPath]];
//contentPath is your movie file path
答案 1 :(得分:0)
我发现了这个问题。
我正在将它用于iPad,因此我使用UIPopoverController
从库中选择视频,在选择完成后,我将didFinishPickingMediaWithInfo
中的弹出窗口关闭并调用函数playMovie
(上面写着) )
这里的问题是如果dismiss popover,也会移除moviePlayer。
虽然我不明白为什么会发生这种情况,但是我通过全局保存URL路径并添加了一个额外的播放按钮来解除弹出窗口后,为此创作了一个解决方法。完整代码为here