当我在录音机演示中的 AppDelegate 中写入 AVAudioSession.sharedInstance().setActive(true) 时,AudioKit 无法录音
AudioKit can't record when I write AVAudioSession.sharedInstance().setActive(true) in AppDelegate in the recorder demo
func applicationDidBecomeActive(_ application: UIApplication) {
debugPrint("applicationDidBecomeActive")
do{
try AVAudioSession.sharedInstance().setActive(true)
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
}catch{
}
UIApplication.shared.endReceivingRemoteControlEvents()//设置后台播放
}
然后就录不了了,我把这些代码删了就可以了
您需要为会话设置正确的类别(您当前正在使用播放)并以正确的顺序执行这些。使用 AVAudioSessionCategoryPlayAndRecord
或 AVAudioSessionCategoryRecord
并在 之后 调用 SetActive。这是错误捕获的代码。
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord)
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
print (error)
}
} catch let error as NSError {
print (error)
}
func applicationDidBecomeActive(_ application: UIApplication) {
debugPrint("applicationDidBecomeActive")
do{
try AVAudioSession.sharedInstance().setActive(true)
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
}catch{
}
UIApplication.shared.endReceivingRemoteControlEvents()//设置后台播放
}
然后就录不了了,我把这些代码删了就可以了
您需要为会话设置正确的类别(您当前正在使用播放)并以正确的顺序执行这些。使用 AVAudioSessionCategoryPlayAndRecord
或 AVAudioSessionCategoryRecord
并在 之后 调用 SetActive。这是错误捕获的代码。
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord)
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch let error as NSError {
print (error)
}
} catch let error as NSError {
print (error)
}