Tho*_*ard 5 ios swift audiokit akamplitudetracker
AudioKit 包括一个很好的工具来跟踪信号幅度: AKAmplitudeTracker
这个跟踪器可以用一个 thresholdCallback 初始化,我想回调应该在达到阈值时触发。
我正在使用MicrophoneAnalysis 示例,但找不到触发回调的方法。
这是我的代码:
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
Run Code Online (Sandbox Code Playgroud)
我尝试使用halfPowerPoint和threshold值,但即使值很低,我也找不到打印任何东西的方法:/
而当我打印时trackerAmplitude.amplitude,我的值高于0.01
有什么我想念的吗?
以下代码有效。使用 AudioKit 4.9、Xcode 11.2、macOS Playground 进行测试。
这可能是 AudioKit 的问题,但必须通过属性更改阈值才能激活跟踪,如下所示...
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
196 次 |
| 最近记录: |