首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AudioKit AKMicrophone不输出任何数据

AudioKit AKMicrophone不输出任何数据
EN

Stack Overflow用户
提问于 2018-10-03 01:33:32
回答 1查看 230关注 0票数 2

我正在尝试从麦克风捕获FFT数据。我以前也用过类似的代码库,但自从macOS Mojave以来,它就坏了-- fft数据一直保持为0。

相关代码:

代码语言:javascript
复制
var fft: AKFFTTap?
var inputDevice: AKDevice? {
    didSet {
        inputNode = nil
        updateAudioNode()
    }
}
var inputNode: AKNode? {
    didSet {
        if fft != nil {
            // According to AKFFTTap class reference, it will always be on tap 0
            oldValue?.avAudioNode.removeTap(onBus: 0)
        }

        fft = inputNode.map { AKFFTTap($0) }
    }
}

..。

代码语言:javascript
复制
guard let device = inputDevice else {
    inputNode = ViewController.shared.player.mixer
    return
}

do {
    try AudioKit.setInputDevice(device)
}
catch {
    print("Error setting input device: \(error)")
    return
}

let microphoneNode = AKMicrophone()

do {
    try microphoneNode.setDevice(device)
}
catch {
    print("Failed setting node input device: \(error)")
    return
}

microphoneNode.start()
microphoneNode.volume = 3
print("Switched Node: \(microphoneNode), started: \(microphoneNode.isStarted)")

inputNode = microphoneNode
try! AudioKit.start()

所有代码都会被调用,不会输出任何错误,但fft只是保持为空。通过一些代码重新排序,我得到了不同的错误。为了完整起见,该类的完整版本是here

最后,我还尝试实现了playground中的一对一示例。由于XCode游乐场似乎与AudioKit崩溃,所以我在自己的代码库中尝试了一下,但也没有区别。例如,AKFrequencyTracker的振幅和频率都为0。

EN

回答 1

Stack Overflow用户

发布于 2018-10-03 15:59:17

我对此不是百分之百的肯定,但我希望你尝试一下AudioKit v4.5.1。我们确实修复了AKMicrophone中的一个错误,这可能会对下游产生影响。我会撤回这个答案,如果它没有修复,我会继续寻找。让我知道。

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

https://stackoverflow.com/questions/52613511

复制
相关文章

相似问题

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