2011-10-05 190 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抛出这样的错误?

感谢,

回答