MPMoviePlayerViewController不会播放更大的mp4文件

时间:2013-04-23 21:36:39

标签: iphone ios objective-c ipad cocoa-touch

我所拥有的是同一部电影的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];
}

仍然无效。

0 个答案:

没有答案