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)
}