AudioKit не может записывать, когда я пишу AVAudioSession.sharedInstance(). SetActive(true) в AppDelegate в демоверсии рекордера
func applicationDidBecomeActive(_ application: UIApplication) {
debugPrint("applicationDidBecomeActive")
do{
try AVAudioSession.sharedInstance().setActive(true)
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
}catch{
}
UIApplication.shared.endReceivingRemoteControlEvents()//设置后台播放
}
тогда это не может сделать запись, и когда я удаляю этот код, это работало
1 ответ
Решение
Вам необходимо установить правильную категорию (в настоящее время вы используете воспроизведение) для сеанса и предварительно сформировать их в правильном порядке. Используйте либо 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)
}