【发布时间】:2026-01-23 11:30:02
【问题描述】:
AudioKit 似乎与运行它的硬件紧密结合。例如,如果您将耳机插入计算机,在模拟器上运行的简单let mic = AKMicrophone() 可能会崩溃。
有没有办法配置 AudioKit 以将其与硬件隔离?现在对我来说似乎不可能可靠地对任何涉及 AudioKit 的代码进行单元测试。更不用说在云 CI 上进行了。
我错过了什么吗?
【问题讨论】:
标签: audiokit
AudioKit 似乎与运行它的硬件紧密结合。例如,如果您将耳机插入计算机,在模拟器上运行的简单let mic = AKMicrophone() 可能会崩溃。
有没有办法配置 AudioKit 以将其与硬件隔离?现在对我来说似乎不可能可靠地对任何涉及 AudioKit 的代码进行单元测试。更不用说在云 CI 上进行了。
我错过了什么吗?
【问题讨论】:
标签: audiokit
实际上 AudioKit 本身是使用 TravisCI 测试的。
基本上,我们将音频离线渲染到缓冲区并检查结果的 MD5 是否为已知值。
不要使用 AKMicrophone(您不能依赖它进行测试),而是将发生器输出(我们使用基本正弦波)发送到处理节点。
【讨论】:
AKBooster、AKMicrophone 等模拟对象的方法。符合的协议或其他东西:)