簡體   English   中英

AudioKit 麥克風在首次運行時未初始化

[英]AudioKit microphone does not init on first run

下午好,

我在 Xcode 11.3 中使用最新版本的 AudioKit(4.9 Master Branch),遇到了一個奇怪的權限問題。 當用戶首次啟動應用程序時,操作系統會請求使用麥克風的權限。 用戶選擇“允許”后,麥克風不工作,但如果您強制退出應用程序並重新啟動它,麥克風工作正常。

我創建了一個函數來測試權限的狀態並將其放在 viewDidLoad() 中:

func checkMic() {
    switch AVAudioSession.sharedInstance().recordPermission {
    case AVAudioSessionRecordPermission.granted:
        print("Permission granted")
    case AVAudioSessionRecordPermission.denied:
        print("Pemission denied")
    case AVAudioSessionRecordPermission.undetermined:
        print("Request permission here")
        AVAudioSession.sharedInstance().requestRecordPermission({ (granted) in
            print("Mic Enabled")


        })
    @unknown default:
        print("Not Working")
    }
}

該函數僅在第一次運行期間觸發,但此時我已經初始化了我的 AudioKit 單例類。 我試圖重新初始化但沒有成功。 我以前沒有遇到過這種情況,想知道是否還有其他人正在經歷這種變化或對此有任何建議。

當 iOS 請求使用麥克風的權限時,AKAnalizer 和 AKMicrophone 似乎都被禁用了。 我需要重新開始。 希望這可以幫助處於相同情況的任何人。

var audioCore = AudioCore.sharedInstance()

func checkMic() {
    switch AVAudioSession.sharedInstance().recordPermission {
    case AVAudioSessionRecordPermission.granted:
        print("Permission granted")
    case AVAudioSessionRecordPermission.denied:
        print("Pemission denied")
    case AVAudioSessionRecordPermission.undetermined:
        print("Request permission here")
        AVAudioSession.sharedInstance().requestRecordPermission({ (granted) in
            print("Mic Enabled")
            self.audioCore.microphone.start()
            self.audioCore.analyzer.start()
            print(self.audioCore.microphone.isStarted)
            print(self.audioCore.analyzer.isStarted)

        })
    @unknown default:
        print("Not Working")
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM