我仍然试图找到一种方法,当AVAudioPlayer
音乐文件达到特定秒数时,您可以调用操作。
我知道我可以使用addPeriodicTimeObserverForInterval
类中的AVPlayer
方法,但我不想使用AVPlayer
,因为它不使用playing()
等方法, stop()
,numberOfLoops
等因为我正在使用它们
是否有AVAudioPlayer
使用的替代方法?如果是这样,当AVAudioPlayer
进入20秒时,我该怎么做呢。
答案 0 :(得分:1)
我认为您的选择是切换到使用AVPlayer,或者#34;伪造它"正如Ashish,上面或其他方法所建议的那样使用NSTimer
。
NSTimers的准确度超过1/50秒(它们在主线程上运行,只有当您的应用访问运行循环时才会触发。)
您可以尝试注册currentTime
AVAudioPlayer
属性的KVO通知,然后检测特定秒内的时间。
KVO通知可能会占用大量CPU资源,甚至可能导致音频播放断断续续,因为每次音频播放器更改currentTime
属性时KVO通知都会触发,即使它已经过了每1/1000秒。
如果您只需要在一秒钟内完成解决,并且不一定要精确,那么NSTimer就是您的选择。