我一直在努力设置启动和停止音频文件的特定点。我下载了Apple的示例代码avTouchController。到目前为止,我已成功改变currentTime以开始播放。我已经尝试了几种方法来创建一个stopPlayer方法。我创造了它,没有任何问题。但是,到目前为止,玩家并没有停止。 有线索吗? 这是我实施的方法
(void)stopPlaybackForPlayer:(AVAudioPlayer *)p
{ if (p.playing)
if (p.currentTime == 6 )
{
[p stop];
[self updateViewForPlayerState:p];
}
}
答案 0 :(得分:0)
你怎么称呼这种方法?你有没有断点来看看发生了什么?
据我所知,使用AVAudioPlayer
执行此操作的唯一方法是设置NSTimer
,它会在触发时为您调用该方法。对currentTime
进行相等性检查可能不是一个好主意,因为时间可能与您的预期完全不同,可能会略小或更大。如果你已经设置了一个大约你希望它停止的时间的计时器,让方法执行并无条件地停止播放器应该没问题。
您是否考虑过使用AVPlayer
?只需使用addPeriodicTimeObserverForInterval:queue:usingBlock:
方法即可轻松完成此任务,您可以更轻松地实现此目的。