[英]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.