【问题标题】:Calling a method at a specific time在特定时间调用方法
【发布时间】:2011-10-06 21:07:35
【问题描述】:

我创建了一个记录器,它将触发声音的 CFAbsoluteTime 及其名称存储在两个单独的数组中。为了回放录音,我需要一种时间准确的方法来调用触发声音方法。最好它应该是非处理器密集型的;不久前我做了一些工作准确但占用了所有 iphone 内存的东西。

例如,我尝试了 NSTimer,它似乎在不精确的播放时有点滞后,而 NSThread 是内存密集型的。

我有哪些选择,各有优劣?谢谢。

【问题讨论】:

    标签: iphone objective-c ios methods time


    【解决方案1】:

    你对做这样的事情有什么看法:

    [self performSelector:@selector(playSound) withObject:nil afterDelay:0.2];
    

    【讨论】:

    • 效果很好!使用它,我能够将阵列中的所有声音排入队列,并且它们可以毫无延迟地播放。绝对是正确的方法。
    【解决方案2】:

    查看dispatch_later 文档。它比使用 performSelector:afterDelay; 更灵活并保证在估计的时间内运行;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-15
      • 2011-06-04
      • 2014-07-09
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多