Arb*_*bel 6 iphone cocos2d-iphone ios soundeffect simpleaudioengine
我正在制作音乐游戏,当用户按下音符时,它会发出声音.当用户按下时,声音自然需要立即播放,因此他们可以判断它们是否与音乐同步.然而,感觉好像声音滞后,特别是当音符按下变得更快时.
我的背景.m4a音乐文件是用AVAudioPlayer播放的.我选择在Cocos Denshion上使用它,因为我可以访问currentTime属性.我可能错了,但我不认为我可以使用CocosDenshion访问它.
我制作了一个非常短(不到一秒钟)的.wav文件.我在init上预加载我的声音效果:
[[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];
Run Code Online (Sandbox Code Playgroud)
然后播放音效,在CCTouchesBegan我打电话:
[[SimpleAudioEngine sharedEngine] playEffect:@"Assist.wav"];
Run Code Online (Sandbox Code Playgroud)
之后,它调用我的代码来确定用户的时间和奖励积分.知道为什么它可能会滞后,或者更好的方式与音乐一起播放音效?
编辑:我最近尝试了一些没有结果的事情.首先,我尝试在歌曲中适当的时间自动播放声音.仍然有滞后,所以我不认为触摸事件是缓慢的.我还尝试了3种不同的声音库.
但是,当我在模拟器中跑步时,似乎并不是很迟钝.有没有人有想法?我一无所知,这是我无法真正拿出来的一大特色......
你应该避免这个代码:- [[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];
随着应用程序的启动,您应该通过编写以下代码来加载您的框架 SimpleAudioEngine :-
//SimpleAudioEngine *palySound; 在 .h 文件中创建对象。palySound=[SimpleAudioEngine 共享引擎];
每当你想播放声音时,你可以写: [palySound playEffect:@"Assist.wav"];
| 归档时间: |
|
| 查看次数: |
2888 次 |
| 最近记录: |