MPMoviePlayerViewController立即在iOS 4.2中解除自身

时间:2012-08-16 18:17:35

标签: ios mpmovieplayercontroller ios-4.2 ios4 mpmovieplayer

我使用以下代码呈现MPMovieViewController:

NSString *path = [[NSBundle mainBundle] pathForResource:@"Tutorial" ofType:@"m4v"];

// If path is NULL (the resource does not exist) return to avoid crash
if (path == NULL)
    return;

NSURL *url = [NSURL fileURLWithPath:path];

MPMoviePlayerViewController *mpViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];
mpViewController.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;
mpViewController.moviePlayer.shouldAutoplay = YES;

// NOTE: This can crash the app in the Simulator. This is a known bug
// in xcode: http://stackoverflow.com/a/8317546/472344
[self presentMoviePlayerViewControllerAnimated:mpViewController];

这在iOS 4.3及更高版本中运行良好,但是我有人在运行iOS 4.2.1并且电影播放器​​视图控制器出现的设备上测试它,但是立即解散了自己。我在文档中找不到任何可以解释这一点的内容。有没有人有任何想法?

1 个答案:

答案 0 :(得分:1)

这听起来很像电影内容本身的不兼容性。

我怀疑iOS 4.2.1设备是iPhone 3G。 3G不支持与最新型号一样多的编解码器。

iOS4.2.1(及更低版本)上的iPhone 3G不支持主配置文件,只支持基线配置文件。

长话短说,您尝试播放的视频与设备不兼容,您需要使用H264的基线配置文件对其进行重新编码。

以下是Apple完成的兼容性与编码矩阵。即使这是名为HTTP Streaming Encode Recommendations,它仍然适用于非流媒体(渐进式下载)和本地播放。

enter image description here