我有一些遊戲聲音,比如四種不同的嘟嘟聲,每一種都是根據用戶的動作進行播放的。我是否需要實例化四個不同的AVAudioPlayer
對象?每個人的聲音是否都需要AVAudioPlayer的實例?
或者我只需要一個主播放器?如果我只需要一個,那我該如何切換文件的URL?
這就是我現在所做的:
NSError *error;
soundPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:markedSound error:&error];
,但它似乎需要幾秒鐘進行初始化。有沒有辦法預加載文件並快速切換它們?
解決方案並非真正最佳。我沒有檢查,但如果大部分延遲來自AVAudioPlayer的工作(解壓縮...)而不是文件加載,我不會感到驚訝。而較低的槓桿解決方案可以很好,但在這種情況下有點矯枉過正。 – Guillaume 2011-12-28 16:18:39
好吧,就像我說的,如果你使用未壓縮的文件,它會更快。 – lxt 2011-12-28 17:43:30