I have an app that loads while a 2 second movie plays. Currently the app is out on the store and has all static content retina display compliant except this video. I have a 960×640 mp4 h.264 encoded video for the retina display and it works well in both iPhone (yes, high res, not 480×320) and iPhone4 simulators. but it just doesn’t seem to play on my iPod Touch 3rd Gen running iOS4. I haven’t been able to test on the physical retina display yet.
It never occurred to me until now that maybe MPMoviePlayerController might not support higher than 480×320, but the docs do say that.
I know this most likely sounds like another @2x solution, but that does not seem to be working either.
Any suggestions for getting this High-res video playing for both screens? I can post code if needed.
For reference, here’s the solution:
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"]]];
}
I would suggest using code checking here to supply your media player with the correct video file.