0

我所拥有的是 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];
}

还是不行。

4

0 回答 0