使用计时器播放音频样本

时间:2013-12-10 21:09:05

标签: objective-c audio timer

我想要做的是使用此按钮播放一次音频样本。现在它只是循环,直到我手动暂停样本。

- (IBAction)sampleButtonAction:(id)sender {    


            [self.audioManager play];

}

所以当5秒钟过去后,我需要拨打这个电话:

[self.audioManager pause];

我认为创建一个可以达到5秒的计时器然后只需在每次启动样本时重复该过程都会很简单。

1 个答案:

答案 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秒,并及时暂停你的声音。

相关问题