AVAudioSession红色状态栏与路由变化



当我的应用程序被发送到后台时,一个红色的状态栏会短暂闪烁。我可以接受。问题是,如果用户随后改变了路由(例如:,插入或拔下耳机),红色状态栏就会亮起并一直亮着(直到应用程序被杀死或显示为前景)。

我的应用程序使用音频会话类别AVAudioSessionCategoryPlayAndRecord,但不使用背景。我将类别更改为播放,然后在应用程序进入后台时停用音频会话,但无法抑制红色闪光,也无法抑制路由更改带来的更大问题。

看起来更改类别是不够的——如果会话是用inputEnabled true创建的,那么您就会被状态警告所困扰。您必须完全释放会话。参见这个问题的讨论,最终答案是"…"唯一的办法就是真正释放audioController。"

最新更新