我想要做的是使用此按钮播放一次音频样本。现在它只是循环,直到我手动暂停样本。
- (IBAction)sampleButtonAction:(id)sender {
[self.audioManager play];
}
所以当5秒钟过去后,我需要拨打这个电话:
[self.audioManager pause];
我认为创建一个可以达到5秒的计时器然后只需在每次启动样本时重复该过程都会很简单。
答案 0 :(得分: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秒,并及时暂停你的声音。