2011-08-22 58 views

回答

0

您需要使用NSTimer并在给定时间段后调用方法。因此,使两种方法,暂停:和播放:,例如

- (void)pause:(id)sender { 
    [player pause]; 
} 

,然后给定的时间段像这样调用后使用计划的时间这个方法:

[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(pause:) userInfo:nil repeats:no 

所以在这种情况下, 3秒后,暂停将在'自我'中被调用。

1

如果您使用的AVPlayer代替AVAudioPlayer那么你可以使用的方法

- (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time))block 

这将调用该块设定的时间间隔,只要该项目被播放。传递给该块的参数Time会告诉您当前项目已播放多久。

因此,您需要做的只是测试Time的值,如果它是一定的长度,则请致电pause停止播放器。然后,您可以设置一次性定时器,在一段时间后重新开始播放。