我正在播放一個wav文件,以便在按下我的UI中的按鈕時發出一點音頻反饋。我的問題是當你第一次按下按鈕有一個延遲(約1.5秒),同時聲音文件「sound.wav」被加載和緩存。有沒有辦法預先緩存這個文件(也許在我的viewDidLoad)?我想我可以通過播放一個viewDidLoad來做到這一點,但真的需要禁用音頻,所以每次應用程序啓動時它都不會「beeb」。使用SystemSoundID預加載* .wav?
非常感謝和幫助。
加里
EDIT_001: 看起來像我的問題是this post重複,除非任何人有任何新的信息?也許可以暫時將播放音量關閉,除非每次通過運行循環清除音頻。
EDIT_002: 我目前使用SystemSoundID/AudioServices:
-(void)playButtonSound {
NSBundle *bundle = [NSBundle mainBundle];
NSString *soundPath = [bundle pathForResource:@"buttonClick_002" ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:soundPath], &soundID);
AudioServicesPlaySystemSound(soundID);
}
我覺得你剛纔已經回答你自己的問題。您需要靜靜地加載它,隨時可以按需使用。它是一種類似的方法,當你想要翻轉圖像。 – thecoshman 2010-04-20 12:09:29
你知道我怎麼可能默默地加載它,或者沒有音頻播放它?我將播放它可能只是不調用「AudioServicesPlaySystemSound(soundID)」的情況; – fuzzygoat 2010-04-20 12:11:09
我不知道iPhone API如何工作。但我認爲你可以將音頻加載到應用程序的變量中?我的圖像可能還可以設置您想要播放一段音頻的音量。我非常懷疑你的唯一選擇是立即加載和播放全音量的音頻(當然是由電話用戶設置) – thecoshman 2010-04-20 12:14:58