Каждый раз, когда я останавливаю / приостанавливаю аудио движок (используя AVAudioEngine
s stop()
или pause()
), в строке состояния на секунду появляется красный значок микрофона.
Это начинаетчерез некоторое время раздражает, что каждый раз, когда я приостанавливаю / останавливаю движок, появляется что-то красное.
Это происходит в iOS 13 при включении режима звукового фона.
Чтобы воспроизвести это, создайте новый проект отдельного представления и добавьте его в контроллер представления:
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. Примите разрешение микрофона и снова запустите приложение. Вы увидите, как красный значок микрофона мигает один раз.
Есть ли способ избавиться от этого?