【问题标题】:Audio Visualizer Using AudioKit and SwiftUI使用 AudioKit 和 SwiftUI 的音频可视化器
【发布时间】:2024-01-20 08:07:01
【问题描述】:

Matt Pfeiffer 发布了 tutorial“使用 AudioKit 和 SwiftUI 构建音频可视化器”,并发布了他的源代码 here。不幸的是,它没有编译。另一位用户在教程网站上发布了一个描述该问题的问题,但仍未得到答复。该用户指出了一些允许其编译的简单更改。

但是,Conductor.swift 中的 line mic?.setOutput(to: micMixer) 产生致命的运行时错误:

不能对“AKMicrophone”类型的非可选值使用可选链接

我们将不胜感激任何修复此错误的帮助。

【问题讨论】:

  • 只需删除?mic.setOutput(to: micMixer)
  • 正如 Steven Cross 在教程网站上的问题所述,他尝试删除“?”仍然有很多乱七八糟的解释。那么,删除 ?不能解决问题。
  • 我刚收到 Matt Pfeiffer 的电子邮件回复。他将在接下来的几天内修复原始教程和源代码。我将把问题发布在 Stack Overflow 上,以便将来的音频应用程序开发人员参考这段代码。

标签: macos audio swiftui audiokit


【解决方案1】:

我对教程发表了评论,但也将在这里留下:

自教程发布以来,AudioKit 框架发生了一些变化,需要调整麦克风的设置方式。

我已使用 AudioKit 版本 5 重写了代码以创建此可视化工具 - 本教程使用版本 4,根据您的版本 (4.x) 可能需要设置麦克风的几个变体之一。

请参阅以下使用 AudioKit V5 的 github 存储库: https://github.com/Matt54/AudioVisualizerAK5

我不会在此处列出项目之间的所有更改,因为您可以下载项目并运行它/复制样板文件。然而,一些值得注意的变化是我将两个 SwiftUI 视图合并到一个视图 (FFTView) 中,我现在使用来自 AudioKit 的 FFTTAP 的回调来更新视图的幅度数据。

还值得一提的是,使用 AudioKit V5,您可以使用 swift 包管理器将 AudioKit 安装到您的项目中。请参阅此处的“通过 Swift 包管理器安装”部分: https://github.com/AudioKit/AudioKit

如果您对此项目有任何更具体的问题,请与我们联系。

马特

【讨论】:

  • 我刚刚从 GitHub 下载了 Matt 的代码,并使用 Xcode 成功运行了它。它解决了最初的问题。它看起来像是一个很好的案例研究来探索如何使用 AudioKit 的分析功能。马特,感谢您的及时回复。
最近更新 更多