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)
        }
Другие вопросы по тегам