watchOS AudioRecorder没有输入,不要求许可

时间:2018-08-20 23:37:39

标签: watchkit

我正在使用此代码在Apple Watch上显示AudioRecorder(摘自https://www.raywenderlich.com/345-audio-recording-in-watchos-tutorial

let outputURL = chatMasterController.newOutputURL()
    let preset = WKAudioRecorderPreset.narrowBandSpeech
    let options: [String : Any] =
        [WKAudioRecorderControllerOptionsMaximumDurationKey: 30]


    presentAudioRecorderController(
        withOutputURL: outputURL,
        preset: preset,
        options: options) {
            [weak self] (didSave: Bool, error: Error?) in

            guard didSave else { return }
            print("finished audio to \(chatID) at \(outputURL)")

            print(outputURL)

       }

记录器弹出,但是似乎没有任何输入。说话时波形不会上升,然后尝试播放录音,无论录音多长时间,我都保持0.2秒的静音时间。

我尝试了另一个使用麦克风的应用程序,并且该应用程序确实要求我许可录制音频。我担心之前会撤消许可,所以我重新安装了我的应用程序,但该应用程序却没有任何变化-无需询问权限,也不会生成输入。

是否有我想念的东西,例如导入库?

1 个答案:

答案 0 :(得分:1)

我现在已经弄清楚了。您不仅需要在Watch应用程序的plist中使用Privacy - Microphone Usage Description字符串,还需要在iPhone的plist中进行设置。

仅在Watch上设置它无济于事,仅在iPhone上设置它不允许您直接在Watch上使用。因此,您都需要它。

不知道为什么没有在任何地方对此进行记录,但是它符合苹果公司的“我们正在下坡”运动:)