2013-12-10 19 views
0

我想要做的是使用此按鈕播放音頻樣本一次。現在它只是永遠循環,直到我手動暫停樣品。使用計時器播放音頻樣本

- (IBAction)sampleButtonAction:(id)sender {  


      [self.audioManager play]; 

} 

所以當之後經過5秒鐘,我需要做這樣的判斷:

[self.audioManager pause]; 

我想這將是簡單的只創建一個計時器會去〜5秒,然後重複剛纔的過程每次我發起樣品。

+0

什麼: 'self.audioManager.numberOfLoops = 0;' – MillaresRoo

+0

它不是audioManager – foo

+0

行動的對象,我在想AVAudioPlayer ... – MillaresRoo

回答

1

您可能需要使用dispatch_after這在你的具體的例子會是這個樣子:

double delayInSeconds = 5.0; 
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayInSeconds * NSEC_PER_SEC)); 
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
     [self.audioManager pause]; 
    }); 

基本上它是什麼,它具有5.0秒的延遲執行主隊列中的給定塊和及時停止你的聲音。

+0

作品魅力的感謝狀! – foo