Строка состояния отображает значок микрофона на мгновение при приостановке / остановке AVAudioEngine в iOS 13 - PullRequest
1 голос
/ 02 октября 2019

Каждый раз, когда я останавливаю / приостанавливаю аудио движок (используя AVAudioEngine s stop() или pause()), в строке состояния на секунду появляется красный значок микрофона.

Это начинаетчерез некоторое время раздражает, что каждый раз, когда я приостанавливаю / останавливаю движок, появляется что-то красное.

Это происходит в iOS 13 при включении режима звукового фона.

enter image description here

Чтобы воспроизвести это, создайте новый проект отдельного представления и добавьте его в контроллер представления:

private let engine = AVAudioEngine()

И в viewDidAppear:

engine.connect(
   engine.inputNode, 
   to: engine.mainMixerNode, 
   format: engine.inputNode.inputFormat(forBus: 0)
)
try? engine.start()

DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
   self.engine.pause() // or self.engine.stop()
}

Не забудьте включить режим звукового фона, добавить NSMicrophoneUsageDescription в Info.plist и запустить его на устройстве iOS 13. Примите разрешение микрофона и снова запустите приложение. Вы увидите, как красный значок микрофона мигает один раз.

Есть ли способ избавиться от этого?

...