Обязательное условие: false: format.sampleRate == hwFormat.sampleRate в моем iPhone 11 Pro - PullRequest
0 голосов
/ 07 октября 2019

Я использую AVAudioSession и AVAudioInputNode для записи голоса в iOS.

Для инициализации я использовал следующие настройки, которые работали нормально:

[AVFormatIDKey: kAudioFormatLinearPCM, AVLinearPCMBitDepthKey: 16, AVLinearPCMIsFloatKey: true, AVSampleRateKey: Float64(8000), AVNumberOfChannelsKey: 1] as [String : Any]

Сейчасв моем новом iPhone 11 Pro с этим кодом я получаю сбой с этой ошибкой: required condition is false: format.sampleRate == hwFormat.sampleRate

Чтобы избежать этого, нужно установить частоту дискретизации с AVSession:

[AVFormatIDKey: kAudioFormatLinearPCM, AVLinearPCMBitDepthKey: 16, AVLinearPCMIsFloatKey: true, AVSampleRateKey: AVAudioSession.sharedInstance().sampleRate, AVNumberOfChannelsKey: 1] as [String : Any]

Этот код работает на моем iPhone 11 Pro, но теперь он падает на других устройствах.

Есть идеи, как это исправить для всех? Почему это происходит? Что изменилось?

Спасибо!

...