gpt4 book ai didi

iphone - Cocos Denshion : Play sound effect in sync with music

转载 作者:可可西里 更新时间:2023-11-01 03:59:42 26 4
gpt4 key购买 nike

我正在制作一款音乐游戏,当用户按下一个音符时,它会发出声音。声音自然需要在用户按下时立即播放,这样他们就可以判断自己是否与音乐同步。但是,感觉声音好像滞后了,尤其是当音符按下变得更快时。

我的背景 .m4a 音乐文件是用 AVAudioPlayer 播放的。我选择在 Cocos Denshion 上使用它,因为我可以访问 currentTime 属性。我可能是错的,但我认为我无法使用 CocosDenshion 访问它。

我制作了一个非常短(不到一秒)的 .wav 文件。我在 init 上预加载我的音效:

[[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];

然后播放音效,在CCTouchesBegan我调用:

[[SimpleAudioEngine sharedEngine] playEffect:@"Assist.wav"];

之后它会调用我的代码来确定用户计时和奖励积分。知道为什么它可能会滞后,或者有更好的方法来与音乐一起播放音效吗?

编辑:我最近尝试了一些东西但没有结果。首先,我尝试在歌曲中的适当时间自动播放声音。仍然有延迟,所以我不认为触摸事件很慢。我还尝试了 3 种不同的声音库。

不过,我在模拟器里跑的时候,好像不卡顿。有人有想法吗?我一无所知,这是一个我真的不能拿出来的主要功能......

最佳答案

你应该避免这个代码:- [[SimpleAudioEngine sharedEngine] preloadEffect:@"Assist.wav"];

随着应用程序的启动,您应该通过编写以下代码来加载您的框架 SimpleAudioEngine :-

//SimpleAudioEngine *palySound;在 .h 文件中创建对象。 palySound=[SimpleAudioEngine sharedEngine];

每当你想播放声音时,你可以写:[palySound playEffect:@"Assist.wav"];

关于iphone - Cocos Denshion : Play sound effect in sync with music,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8787056/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com