Ios AVAudioPlayer在音频文件上设置预定义的停止点,无需用户输入
我一直在努力设置启动和停止音频文件的特定点。我下载了苹果的示例代码avTouchController。到目前为止,我已经成功地更改了currentTime以开始播放。我尝试了几种方法来创建stopPlayer方法。我创建了它,没有任何问题。然而,到目前为止,球员没有停止。 有什么线索吗? 这是我实现的方法Ios AVAudioPlayer在音频文件上设置预定义的停止点,无需用户输入,ios,objective-c,avaudioplayer,Ios,Objective C,Avaudioplayer,我一直在努力设置启动和停止音频文件的特定点。我下载了苹果的示例代码avTouchController。到目前为止,我已经成功地更改了currentTime以开始播放。我尝试了几种方法来创建stopPlayer方法。我创建了它,没有任何问题。然而,到目前为止,球员没有停止。 有什么线索吗? 这是我实现的方法 (void)stopPlaybackForPlayer:(AVAudioPlayer *)p { if (p.playing) if (p.currentTime == 6 )
(void)stopPlaybackForPlayer:(AVAudioPlayer *)p
{ if (p.playing)
if (p.currentTime == 6 )
{
[p stop];
[self updateViewForPlayerState:p];
}
}
你怎么称呼这个方法?您是否在其中设置了断点以查看发生了什么 据我所知,使用
AVAudioPlayer
的唯一方法是设置一个NSTimer
,当它触发时,它将为您调用该方法。对currentTime
进行相等性检查可能不是一个好主意,因为它可能与您期望的时间不完全一致,并且可能会稍微小一些或大一些。如果您已经设置了一个计时器,大约是您希望它停止的时间,那么让该方法执行并无条件地停止播放器就可以了
你有没有考虑过用一种新的方法来代替?只需使用addPeriodicTimeObserverForInterval:queue:usingBlock:
方法即可轻松实现这一点