【问题标题】:Callback at certain times during audio playback在音频播放期间的特定时间回调
【发布时间】:2011-10-03 02:00:15
【问题描述】:

是否可以播放用户 ipod 库中的音频文件并在播放器到达某个时间点时发生回调?我需要它非常准确,因此仅使用 currentPlaybackTime 之类的方法可能还不够,因为浮点相等是不准确的。我可以使用A - B < Epsilon float 检查,但有没有更好、更准确的方法来实现这一点?

【问题讨论】:

    标签: iphone ios audio callback core-audio


    【解决方案1】:

    如果您可以针对 iOS 4.0 或更高版本,请尝试使用 AVPlayer。然后就可以使用了

    - (id)addBoundaryTimeObserverForTimes:(NSArray *)times queue:(dispatch_queue_t)queue usingBlock:(void (^)(void))block
    

    它采用 CMTimes 的 NSValues 数组,并在每次达到边界时间之一时运行块的内容。 (请注意一些行为,例如,如果您在块内暂停音频文件,则在您取消暂停时回调将再次触发

    由于 CMTime 不是浮点数,我认为这将比重复检查 currentTime 更准确。

    【讨论】:

    • 太棒了,感谢您的快速回复。这看起来像我需要的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    相关资源
    最近更新 更多