是否可以播放用户ipod库中的音频文件,并在播放器到达某个时间点时进行回调?我需要它非常准确,所以简单地使用像currentPlaybackTime
这样的方法可能是不够的,因为浮点相等是不准确的。我可以使用A - B < Epsilon
浮动检查,但有更好,更准确的方法来实现这一点吗?
答案 0 :(得分:2)
如果您可以定位iOS 4.0或hight,请尝试使用AVPlayer。然后你就可以使用
了- (id)addBoundaryTimeObserverForTimes:(NSArray *)times queue:(dispatch_queue_t)queue usingBlock:(void (^)(void))block
为CMTimes获取NSValues数组,并在每次触发一个边界时间时运行块的内容。 (注意一些行为,如果你在块中暂停音频文件,当你取消它时,回调将再次激活)。
由于CMTime不是浮点数,我认为这比重复检查currentTime更准确。