我有一个问题,当我的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抛出这样的错误?
感谢,