在我的应用中,
通过AVAudioPlayer播放歌曲,
现在我想播放一首特定时间的歌曲,而不是暂停特定时间&再玩一次。
我该怎么做?
答案 0 :(得分:1)
如果您使用AVPlayer
代替AVAudioPlayer
,则可以使用
- (id)addPeriodicTimeObserverForInterval:(CMTime)interval queue:(dispatch_queue_t)queue usingBlock:(void (^)(CMTime time))block
只要项目正在播放,将以设定的间隔调用块。传递给块的参数Time
将告诉您当前项目的播放时间。
因此,您需要做的就是测试Time
值,如果它是一定长度,则调用pause
来停止播放器。然后,您可以设置一次性计时器,以便在一段时间后重新开始播放。
答案 1 :(得分:0)
您需要使用NSTimer
并在给定的时间段后调用方法。所以,制作两个方法,暂停:和播放:,例如
- (void)pause:(id)sender {
[player pause];
}
然后在给定时间段之后使用预定时间调用此方法,如下所示:
[NSTimer scheduledTimerWithTimeInterval:3.0 target:self selector:@selector(pause:) userInfo:nil repeats:no
所以在这种情况下,3秒后,将在'self'中调用暂停。