AudioKit не может записывать, когда я пишу AVAudioSession.sharedInstance (). SetActive (true) в AppDelegate в демоверсии рекордера - PullRequest
0 голосов
/ 10 мая 2018
func applicationDidBecomeActive(_ application: UIApplication) {
    debugPrint("applicationDidBecomeActive")
    do{
        try AVAudioSession.sharedInstance().setActive(true)
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
    }catch{

    }
    UIApplication.shared.endReceivingRemoteControlEvents()//设置后台播放
}

тогда он не может записать, и когда я удаляю этот код, он работал

1 Ответ

0 голосов
/ 10 мая 2018

Вам необходимо установить правильную категорию (в настоящее время вы используете воспроизведение) для сеанса и предварительно сформировать их в правильном порядке. Используйте 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)
        }
...