我有一个应用程序,在播放2秒钟的电影时加载。目前该应用程序已经上架,除了这个视频之外,所有静态内容都符合视网膜显示标准。我为视网膜显示器准备了一段960x640像素的mp4 h.264编码视频,它在iPhone(是的,高分辨率,不是480x320)和iPhone4模拟器中运行良好,但在运行iOS4的iPod Touch第三代上似乎无法播放。我还没有能够在实际的视网膜显示器上进行测试。
直到现在我才想到,也许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"]]];
}