代码之家  ›  专栏  ›  技术社区  ›  Jordan H

当AKPlayer到达指定时间时如何通知

  •  0
  • Jordan H  · 技术社区  · 5 年前

    我需要检测到 AKPlayer

    我现在的方法是 Timer 每毫秒发射一次来检查 player.currentTime currentTime 没有足够快的变化检测到这一点-它似乎每11毫秒更新一次,这对于我的用例来说不够精确。在我捕捉到音频之前,它超过了时间戳。在这里你可以看到这个值并不是每次定时器被触发时都会改变,当它改变的时候是11.6毫秒的差异,所以如果我需要知道播放器什么时候达到0.5125秒,我不会检测到,直到播放器运行了10毫秒。

    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5108390022675737
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    0.5224489795918368
    

    我探索的另一个方法是观察 当前时间 但不幸的是,它从未被调用。

    currentTimeObserver = player.observe(\.currentTime) { (player, change) in
        print("Changed to \(player.currentTime)")
    }
    

    当前时间 或者在达到特定时间戳时通知注册?

    0 回复  |  直到 5 年前