Opengl es MPMoviePlayerViewController崩溃OpenGL错误0x0505 in-[ES1Renderer resizeFromLayer:]

Opengl es MPMoviePlayerViewController崩溃OpenGL错误0x0505 in-[ES1Renderer resizeFromLayer:],opengl-es,cocos2d-iphone,mpmovieplayercontroller,ipod,Opengl Es,Cocos2d Iphone,Mpmovieplayercontroller,Ipod,我遇到一个问题,当在IOS应用程序开始时加载介绍电影时,游戏将崩溃,OpenGL错误0x0505出现在-[ES1Renderer resizeFromLayer:]中 我的电影规格是: 尺寸:480 x 320 编解码器:H.264,AAC 持续时间:00:15 总比特率:984 大小:1.9 MB 我在ApplicationIDFinishLaunching上启动电影,并在一个单独的方法中执行CCDirector和EAGLView初始化/创建,该方法在电影播放结束后调用 这在模拟器和iPhon

我遇到一个问题,当在IOS应用程序开始时加载介绍电影时,游戏将崩溃,OpenGL错误0x0505出现在-[ES1Renderer resizeFromLayer:]中

我的电影规格是:

尺寸:480 x 320 编解码器:H.264,AAC 持续时间:00:15 总比特率:984 大小:1.9 MB

我在ApplicationIDFinishLaunching上启动电影,并在一个单独的方法中执行CCDirector和EAGLView初始化/创建,该方法在电影播放结束后调用

这在模拟器和iPhone4、3GS、iPod4th-Gen上都能正常工作,但在iPod2nd-Gen(版本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是一个内存不足的问题,但我不明白为什么。游戏本身在点击播放按钮后分配了超过2MB的空间,所以我认为它可以处理电影分配

我是否有什么明显的错误导致OpenGL抛出这样的错误


谢谢,

您最好使用项目中的,而不是重新发明轮子