iphone:播放和暂停一首特定时间的歌曲?

时间:2011-08-22 12:11:24

标签: iphone objective-c cocoa-touch ios4

在我的应用中,

通过AVAudioPlayer播放歌曲,

现在我想播放一首特定时间的歌曲,而不是暂停特定时间&再玩一次。

我该怎么做?

2 个答案:

答案 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'中调用暂停。