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