2010-11-09 74 views
4

我有一個應用程序,加載2秒的電影播放。目前該應用程序已在商店中出售,並且除了此視頻外,所有靜態內容視網膜顯示均符合規定。我有一個960x640 mp4 h.264編碼視頻用於視網膜顯示,它在iPhone(是的,高分辨率,不是480x320)和iPhone4模擬器都能很好地工作。但它似乎沒有在我運行iOS4的iPod Touch 3rd Gen上播放。我還沒有能夠在物理視網膜顯示器上進行測試。如何使視頻資源視網膜顯示符合?

直到現在,我從來沒有想到,也許MPMoviePlayerController可能不支持高於480x320,但文檔確實這麼說。

http://developer.apple.com/library/ios/#documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/MPMoviePlayerController/MPMoviePlayerController.html

我知道這很可能聽起來像是另一個@ 2個解決方案,但似乎並沒有被任何工作。

任何建議讓這個高分辨率的視頻播放兩個屏幕?如果需要,我可以發佈代碼。


僅供參考,這裏的解決方案:

的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"]]]; 
} 

回答

2

我建議在這裏使用代碼檢查爲您的媒體播放器提供正確的視頻文件。

+0

回頭看這個問題,我想我沒有詳細說明。我看到的問題是高分辨率視頻沒有播放,但我已經接受,除非你有視網膜顯示器,否則高分辨率視頻不會播放。它在模擬器上播放的事實很可能就像許多其他事情一樣,計算機支持播放,所以它確實如此。我將使用排序代碼檢查if(scale == 2)videoFile = high-res else videoFile = low-res。 – TahoeWolverine 2010-11-10 20:41:26

+0

舊設備的硬件有上限,每個都稍有不同。結果就是視頻如果超過限制就不會播放。 – MoDJ 2013-06-26 17:42:11