我所拥有的是 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];
}
预计到达时间:
找到本教程: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];
}
还是不行。