每次我停止/暂停音频引擎(使用AVAudioEngine
的{{1}}或stop()
)时,状态栏中都会出现一个红色的麦克风图标。
过一会儿,这变得很烦人,每次我暂停/停止引擎时,顶部都会出现红色。
在启用音频背景模式功能的iOS 13中会发生这种情况。
要重现此内容,请创建一个新的单一视图项目,并将其添加到视图控制器中:
pause()
在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
,然后在iOS 13设备上运行它。接受麦克风许可,然后重新运行该应用程序。您将看到红色的麦克风图标闪烁一次。
有办法摆脱这种情况吗?