首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行某些AUv3实例时Audiokit中的计时器冲突

运行某些AUv3实例时Audiokit中的计时器冲突
EN

Stack Overflow用户
提问于 2022-02-03 15:29:39
回答 1查看 46关注 0票数 0

我在Audiokit的AUv3工作。Auv3有一个执行操作的计时器。定时器在viewDidLoad上被激活。我试着用计时器、睡眠、DispatchQueue.asyncAfter和DispatchSourceTimer。一切都很好。问题是,当运行AUv3的某些实例时,计时器会将触发时间复制为AUv3实例的数量,或者无法正常工作。cpu收费没有问题。在某些Auv3实例中同时运行计时器而不会发生冲突吗?我的一些计时器:

代码语言:javascript
复制
func queue1() {
    
    let currentDateTime = Date()
    DispatchQueue.init(label: String(currentDateTime.timeIntervalSinceReferenceDate)).asyncAfter(deadline: .now() + .milliseconds(Int(1000 / self.slidervalue))) {
     
        if self.closeQueue == 0 {
             self.queue1()
        self.makeTimer()
       }
      }
}
func usleep1(){
    Darwin.usleep(10000)
    usleep1()
    makeTimer()
    
}
func timer1(){
    timer = Timer.scheduledTimer(timeInterval: Double(timeInterval), target: self, selector: #selector(self.makeTimer), userInfo: nil, repeats: true)
     }

我尝试使用main、全局队列和用户队列。我不知道为什么AUv3计时器会影响其他实例。知道吗?最后,我使用了AKSequencer和AKMetronme,但问题是一样的。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-04 02:01:30

问题不可能是Timer --这是因为您可能(因为这里没有显示)依赖于代码中某种类型的单例。

AUv3实例需要真正独特的依赖关系实例才能独立工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70973992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档