gpt4 book ai didi

ios - 为什么 AudioKit 的 AKMicrophoneTracker 不能在物理 iOS 设备上工作?

转载 作者:搜寻专家 更新时间:2023-10-30 23:00:55 24 4
gpt4 key购买 nike

当我在物理设备上使用 AudioKit 的 AKMicrophoneTracker 时,频率和振幅始终都是 0。但在 playground 和 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 playground
  • 运行 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(项目维护者)鼓励我在这里发帖。

最佳答案

以下内容对我 7+、6s 有效:

在 AppDelegate 中:

import UIKit
import AudioKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

var window: UIWindow?
let tracker = AKMicrophoneTracker()



func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.

// start the tracker and show frequency information
tracker.start()
Timer.scheduledTimer(withTimeInterval: 0.5, repeats: true, block: { _ in
print(self.tracker.frequency)
print(self.tracker.amplitude)
})


return true
}
...

信息.plist

...
<key>NSMicrophoneUsageDescription</key>
<string>WE need your microfone to contact the aliens</string>
...

enter image description here

关于ios - 为什么 AudioKit 的 AKMicrophoneTracker 不能在物理 iOS 设备上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47401897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com