2012-08-13 40 views
1
NSString *path = [[NSBundle mainBundle] pathForResource:@"hit-pipe" ofType:@"wav"]; 
audioPlayer =[[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil]; 
[self.audioPlayer setDelegate:self]; 
[self.audioPlayer prepareToPlay]; 
[self.audioPlayer play]; 

第一次加載聲音需要時間。第一次加載時AVAudio Player被延遲

+0

檢查[this](http://stackoverflow.com/questions/900461/slow-start-for-avaudioplayer-the-first-time-a-sound-is-played)回答延遲。解決方案是[this](http://stackoverflow.com/questions/5684374/trying-to-fix-avaudioplayer-lag-on-its-initial-use)和[this](http://stackoverflow.com/questions/2550480 /延遲播放聲音使用avaudioplayer)鏈接。得到幫助 – 2012-08-13 06:29:42

回答

0

加載該文件需要時間,因爲它正在加載文件。播放AVAudioPlayer時總會有一點通常不明顯的滯後,而加載文件時會有更多延遲。有多大滯後取決於文件的大小和文件格式。如果出現問題,請嘗試先分配和加載AVAudioPlayer或使用較小的聲音文件。

0

您可以在加載應用程序時加載代碼(例如在init或viewDidLoad中)。然後在需要播放時調用audioplayer播放。我正在爲我的應用程序做這件事,但我沒有注意到任何延遲。當我打電話時它會立即播放。