ern*_*ton 6 swift avaudioengine ios13
每次我停止/暂停音频引擎(使用AVAudioEnginesstop()或pause())时,状态栏上都会出现一个红色的麦克风图标一秒钟。
一段时间后,这开始很烦人,每次我暂停/停止引擎时,顶部都会出现红色。
在 iOS 13 中启用音频背景模式功能时会发生这种情况。
要重现这一点,请创建一个新的单视图项目,并将其添加到视图控制器:
private let engine = AVAudioEngine()
Run Code Online (Sandbox Code Playgroud)
而在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()
}
Run Code Online (Sandbox Code Playgroud)
记住要启用音频背景模式,添加NSMicrophoneUsageDescription的Info.plist,并在iOS的13设备上运行。接受麦克风权限并重新运行应用程序。您将看到红色麦克风图标闪烁一次。
有没有办法摆脱这个?