【发布时间】:2017-11-20 22:05:56
【问题描述】:
当我在物理设备上使用 AudioKit 的AKMicrophoneTracker 时,频率和幅度总是0。但在游乐场和 iOS 模拟器中,它可以完美运行。
这是一个粗略的例子:
class AppDelegate: UIResponder, UIApplicationDelegate {
let tracker = AKMicrophoneTracker()
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// start the tracker and show frequency information
tracker.start()
Timer.scheduledTimer(withTimeInterval: 0.1, repeats: true, block: { _ in
print(tracker.frequency)
print(tracker.amplitude)
})
}
}
我已重置我的物理设备的隐私权限,并且 iOS 正确提示我允许麦克风访问。即使我允许使用麦克风,它仍然无法正常工作。
如何让 AKMicrophoneTracker 实际读取这些值?
我正在使用 AudioKit 4.0.3。使用时按预期工作:
- 我 Mac 上的 AudioKit 游乐场
- 运行 iOS 11.1 的模拟器 iPhone 7 Plus
使用时不起作用:
- 运行 iOS 11.1.1 的物理 iPhone 7 Plus(也适用于 iOS 11.1)
我最初将其发布为 a bug on AudioKit's GitHub issue tracker。然而,Aure(项目维护者)鼓励我改为在这里发帖。
【问题讨论】:
-
为什么您要尝试在 0.1 秒内进行跟踪。我认为您应该至少使用 1 或 2 秒希望对您有所帮助
-
您是否签入了其他装有 iOS 11 或 10 的设备
-
@Tubelight 样本之间的较长时间可能会产生更好的结果,但即使是 0.1 秒的时间也应该给我 一些 数据,即使它不准确。但我只是得到零。
-
@R.Mohan 我还没有检查物理 iOS 10 设备。可惜我没有。