我正在尝试使用Cocos2d 2.0为我正在开发的游戏场景播放背景音乐
但执行在
处停止在CDAudioManager.m中:
-(void) load:(NSString*) filePath {
........
.........
[[audioSourcePlayer prepareToPlay]; //This is where the execution stops!!
并且它没有提供关于异常的详细信息!它只是打破了!
这就是我演奏音乐的方式:
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"background_music" ofType:@"mp3"];
NSLog(@"soundFile: %@", soundFile); //The path is correct
SimpleAudioEngine *sae = [SimpleAudioEngine sharedEngine];
if (sae != nil) {
[sae preloadBackgroundMusic:soundFile];
if (sae.willPlayBackgroundMusic) {
sae.backgroundMusicVolume = 0.5f;
}
}
我使用的是Cocos2d 2.0,Xcode 4.5.1,iOS SDK 6.0
答案 0 :(得分:1)
好消息,这已在这里得到解答,甚至更好的消息,你没有代码更改,只是调试器设置!
答案 1 :(得分:0)
检查文件是否通过了存在测试:
NSLog(@"soundFile: %@, exists: %u",
soundFile, [[NSFileManager defaultManager] fileExistsAtPath:soundFile]);
如果文件存在,将为1。
如果确实存在,请进入preloadBackgroundMusic并查看是否有返回nil的内容。我可以想象mp3使用的是CD不支持的格式。如果是这样,请使用Audacity或类似的音频工具打开并重新保存mp3文件。
您还应该添加add the global exception breakpoint in Xcode。这样,Xcode不仅会在发生异常时停止,还会跳转到违规行。