【发布时间】:2015-06-05 01:14:57
【问题描述】:
我正在尝试使用 MPMoviePlayerController 播放视频。在某些 iPad 上可以播放视频,而在其他 iPad 上则不能。
代码如下:
NSURL *url = [NSURL fileURLWithPath:[self videoPath]];
self.moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
self.moviePlayerController.view.frame = self.view.bounds;
self.moviePlayerController.repeatMode = MPMovieRepeatModeOne;
self.moviePlayerController.controlStyle = MPMovieControlStyleNone;
[self.moviePlayerController prepareToPlay];
... add to subview, play ...
MPMoviePlayerController 列出了以下压缩限制:
H.264 Baseline Profile Level 3.0 视频,最高 640 x 480 @ 30 fps。 (Baseline 配置文件不支持 B 帧。)
MPEG-4 第 2 部分视频(简单配置文件)
最初,我们使用的是更高分辨率的 H.264,视频与我们的一些测试人员一起使用。不幸的是,我无法在我的 iPad(第 4 代)上播放视频。我们保留了现有的分辨率并尝试了 MPEG-4 Part 2 视频,但同样,该视频无法正常工作。我们能让视频可靠工作的唯一方法是将分辨率大幅降低到 480 x 640。结果看起来很糟糕。
我添加了通知以监控加载状态,对于无法播放的视频,模式将从MPMovieLoadStateUnknown 变为MPMovieLoadStatePlayable 再返回MPMovieLoadStateUnknown。运行良好的视频将从MPMovieLoadStateUnknown 到MPMovieLoadStatePlayable 再到MPMovieLoadStatePlayable|MPMovieLoadStatePlaythroughOK。
我检查了errorLogs和accessLogs,它们都是空的。
有什么想法可以让我下一步检查以使更高分辨率的视频在 iPad 上运行吗?
【问题讨论】:
标签: ios ipad cocoa-touch video mpmovieplayercontroller