我所拥有的是同一部电影的2个版本的2个链接,一个是较低的定义,另一个是较高的,两个.mp4格式。
它可以很好地播放低版本,但是当我点击高清版本的链接时,电影播放器就像它应该弹出一样,然后将自己视为原始视图控制器。如果我再次单击它,它可以工作,但第一次尝试通常会失败。就像线程正在进行和成功的事情一样。从我读过的内容来看,它是ARC的一个问题,但我似乎无法做到这一点。
我想使用MPMoviePlayerViewController因为我喜欢它默认情况下它是一个模态弹出窗口。我尝试使用MPMoviePlayerController,但你必须设置视图然后处理似乎旋转。
我在Xcode的日志中没有遇到任何崩溃或任何警告。
这是我的代码:
@interface VideoInfoViewController ()
@property (nonatomic, strong) MPMoviePlayerController *player;
@end
- (IBAction)playLowVideo:(id)sender {
[self playVideoFromURL:[NSURL URLWithString:_video.video_url_low]];
}
- (IBAction)playHDVideo:(id)sender {
[self playVideoFromURL:[NSURL URLWithString:_video.video_url_HD]];
}
- (void)playVideoFromURL:(NSURL *)url {
MPMoviePlayerViewController *playerViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
_player = playerViewController.moviePlayer;
_player.scalingMode = MPMovieScalingModeFill;
[_player prepareToPlay];
[self presentMoviePlayerViewControllerAnimated:playerViewController];
}
ETA:
找到了这个教程:http://josebolanos.wordpress.com/2011/09/28/dismissing-mpmovieplayerviewcontroller-the-right-way/
- (void)playVideoFromURL:(NSURL *)url {
MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
[self presentModalViewController:player animated:YES];
[player.moviePlayer prepareToPlay];
[player.moviePlayer play];
}
仍然无效。