我有一个应用程序可以在播放 2 秒的电影时加载。目前,该应用程序已在商店中出售,并且除此视频外,所有静态内容均符合视网膜显示。我有一个用于视网膜显示器的 960x640 mp4 h.264 编码视频,它在 iPhone(是的,高分辨率,不是 480x320)和 iPhone4 模拟器中都运行良好。但它似乎无法在运行 iOS4 的我的 iPod Touch 3rd Gen 上播放。我还不能在物理视网膜显示器上进行测试。
直到现在我才想到 MPMoviePlayerController 可能不支持高于 480x320 的分辨率,但文档确实这么说。
我知道这很可能听起来像是另一个@2x 解决方案,但这似乎也不起作用。
对于在两个屏幕上播放此高分辨率视频有什么建议吗?如果需要,我可以发布代码。
作为参考,这里是解决方案:
MPMoviePlayerController *movieController;
if ([[UIScreen mainScreen] scale] == 2.0) {
movieController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath: [[NSBundle mainBundle] pathForResource:@"highRes" ofType:@"mp4"]]];
} else {
movieController = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"lowRes" ofType:@"m4v"]]];
}