我有一個問題,當我的IOS應用程序的開始加載介紹電影時,遊戲將崩潰OpenGL錯誤0x0505在 - [ES1Renderer resizeFromLayer:]。MPMoviePlayerViewController崩潰OpenGL錯誤0x0505在 - [ES1Renderer resizeFromLayer:]
我的電影規格是:
尺寸:480 x 320 編解碼器:H.264,AAC 時間:00:15 總比特率:984 大小:1.9 MB
我開始電影在applicationDidFinishLaunching上執行我的CCDirector和EAGLView初始化/創建一個單獨的方法,該方法在電影完成播放後被調用。
這適用於模擬器以及Iphone 4,3GS,Ipod第四代,但在Ipod第二代(版本4.1)它崩潰。
我有一個從MPMoviePlayerViewController導出並有我叫調用startMovie自己的方法,做到這一點我自己的類:
- (void)startMovie
{
MPMoviePlayerController* moviePlayerController = [self moviePlayer];
moviePlayerController.controlStyle = MPMovieControlStyleNone;
moviePlayerController.useApplicationAudioSession = YES;
moviePlayerController.fullscreen = YES;
moviePlayerController.scalingMode = MPMovieScalingModeAspectFill;
// Only play video for iOS above 3.2
if(OS_Version > 3.21)
{
[moviePlayerController setMovieControlMode:MPMovieControlModeHidden];
[moviePlayerController prepareToPlay];
[moviePlayerController play];
}
else
{
// Use the new 3.2 style API
if([moviePlayerController respondsToSelector:@selector(setFullscreen:animated:)])
moviePlayerController.shouldAutoplay = YES;
else // Use the old 2.0 style API
{
moviePlayerController.movieControlMode = MPMovieControlModeHidden;
[moviePlayerController play];
}
}
}
當開始我的電影,我做的是像這樣:
self.moviePlayerViewController = [[[PFMPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:filePath]] autorelease];
[moviePlayerViewController startMovie];
我相信我內存不足,因爲OpenGL錯誤0x0505是內存不足的問題,但我不承認爲什麼。點擊播放按鈕後,遊戲本身分配了2 MB以上的空間,所以我認爲它可以處理電影分配。
有沒有什麼明顯的錯誤,我可能會導致OpenGL拋出這樣的錯誤?
感謝,