2011-10-05 51 views
1

我有一個問題,當我的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拋出這樣的錯誤?

感謝,

回答