首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioKit -如何使用AKAmplitudeTracker阈值回调?

AudioKit -如何使用AKAmplitudeTracker阈值回调?
EN

Stack Overflow用户
提问于 2019-12-09 11:15:16
回答 1查看 238关注 0票数 5

AudioKit包括一个很好的跟踪信号振幅的工具:AKAmplitudeTracker

这个跟踪器可以使用一个thresholdCallback,我认为在达到阈值时应该触发回调。

我正在使用示例,无法找到触发回调的方法。

这是我的代码:

代码语言:javascript
复制
var mic: AKMicrophone!
var trackerAmplitude: AKAmplitudeTracker!
 var silence: AKBooster!

AKSettings.audioInputEnabled = true
mic = AKMicrophone()

trackerAmplitude = AKAmplitudeTracker(mic, halfPowerPoint: 10, threshold: 0.01, thresholdCallback: { (success) in
            print("thresholdCallback: \(success)")
        })
trackerAmplitude.start()

silence = AKBooster(trackerAmplitude, gain: 0)
AudioKit.output = silence

我试着使用halfPowerPointthreshold值,但是即使是非常低的值,我也找不到打印任何东西的方法:/

然而,当我打印trackerAmplitude.amplitude时,我得到的值高于0.01

我遗漏了什么吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-22 13:05:27

下面的代码可以工作。使用AudioKit 4.9,Xcode 11.2,macOS游乐场进行测试。

这可能是AudioKit的问题,但必须通过属性更改阈值以激活跟踪,如下所示.

代码语言:javascript
复制
import AudioKitPlaygrounds
import AudioKit

let mic = AKMicrophone()

AKSettings.audioInputEnabled = true
let amplitudeTracker = AKAmplitudeTracker(mic, halfPowerPoint: 10, threshold: 1, thresholdCallback: { (success) in
    print("thresholdCallback: \(success)")
})
AudioKit.output = amplitudeTracker

try AudioKit.start()
amplitudeTracker.threshold = 0.01 // !! MUST BE SET VIA PROPERTY
amplitudeTracker.start()
mic?.start()

import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59247698

复制
相关文章

相似问题

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