0
我正在使用SimpleAudioEngine在我的cocos2D应用程序中播放声音。我有一种情况,就是每次弹一颗子弹时都会按住按钮继续发射子弹,并发出声音。 当我连续点击拍摄按钮有时,游戏场景抽搐。这发生在我整合了声音的时候。SimpleAudioEngine需要时间播放声音
这是我使用的按钮点击代码:
-(void)rocketButtonTapped:(id)sender
{
[[SimpleAudioEngine sharedEngine] playEffect:@"rocket_fired.wav"];
NSLog(@"Pencil Rocket");
if(int_pencilRocketTagCount>=220)
{
int_pencilRocketTagCount=215;
}
[self performSelector:@selector(shootPencilRocket)];
}
请建议我一条生路......在此先感谢..
这是真的,无论你使用什么声音库:从'磁盘'(在这种情况下,闪存,但不是RAM)读取文件需要很多周期。在' - (BOOL)应用程序中预加载您的效果:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions',如果您从一开始就需要它们(例如按钮敲击声),或者在游戏的“加载”只在游戏中需要。 – 2012-07-12 10:02:10
谢谢。在我的情况NSLog是一个问题。我遇到的另一个问题是,我可以播放“A”wav声音,但是如果我用“B”wav声音替换“A”wav声音,它不会播放。艾米的原因是什么? – NiKKi 2012-07-12 14:06:11
B wav是否使用与其他文件完全相同的格式(采样率,比特率等)?有时.wav下载使用较旧的格式或嵌入了iOS无法处理的元数据。有时候,用Audacity这样的音频程序打开wav会有帮助,并再次保存以使其工作。与大多数音频节目相比,iOS对WAV格式的选择很简单。 – LearnCocos2D 2012-07-12 20:06:38