每當我下面播放音頻文件像以前一樣,它正在幾秒鐘就可以開始播放音頻。我從一些論壇上看到,並且明白,如果我們在那裏分配對象,AVAudioPlayer將需要幾秒鐘才能開始播放。我想早些時候分配這個對象(可能是Appdelegate本身),之前我想玩,所以當我想玩它時,它會立即播放。創建AVAudioPlayer對象太多的上場動態音頻
NSURL *audioPathURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:audioName ofType:@"wav"]];
audioP = [[AVAudioPlayer alloc]initWithContentsOfURL:audioPathURL error:NULL];
[appDelegate.audioP play];
但是,我傳遞的音頻鏈接在運行時動態的,所以我想知道我可以在更早的對象分配和再以後能夠通過動態的音頻URL路徑?
請注意,我的問題與此問題有所不同Slow start for AVAudioPlayer the first time a sound is played 在現有問題中,他們講述了一個音頻文件並在需要時播放它。但是,我有很多不同的音頻文件和URL路徑隨機生成,並在運行時播放,所以我不知道什麼是實際的路徑設置和播放。所以,這裏提到的答案 - >Slow start for AVAudioPlayer the first time a sound is played 不會幫助我的問題。 我不能使用prepareToPlay,因爲音頻路徑URL被設置在運行時間,不只是一個音頻被用於所有的時間玩,將有超過20個音頻文件,隨機選擇並設置爲播放一次一個。所以,我需要正確的答案,這不是一個重複的問題。
謝謝!
見本:HTTP: //stackoverflow.com/questions/9710679/avaudioplayer-changing-current-url –
如果你知道你要玩的東西你可以用prepareToPlay:儘量減少滯後。這將預加載緩衝區並獲取聲音硬件。 – Krumelur
嗨,我怎麼會用prepareToPlay我的情況(音頻URL路徑將在運行時間僅過)? – Getsy