我有一个具有两个功能的应用程序。AKMetronome
当应用程序不在前台时,一个播放并允许后台播放。另一个是使用 的调谐器功能AKMicrophone
,仅在应用程序处于前台时才需要处于活动状态。这些功能可以同时使用(调谐器激活时节拍器灯闪烁)。
当我按下主页按钮时,节拍器继续播放(如预期的那样)。但调谐器的活动麦克风也会在所有其他应用程序中导致设备顶部出现亮红色的“录音”风格栏。但是,当应用程序未打开时,我不需要调谐器来运行。
如何禁用AKMicrophone
节点以使该栏不显示,同时保持AKMetronome
节点播放不中断?
我尝试了以下方法,但均未成功:
- 调用
AudioKit.stop()
应用程序委托applicationWillResignActive()
方法。这摆脱了录音栏,但停止了节拍器。 - 期间调用节点
stop()
。这不会删除录音栏。AKMicrophone
applicationWillResignActive()
- 期间在节点上调用
stop()
和。这也不会删除录音栏。disconnectOutput()
AKMicrophone
applicationWillResignActive()
我怀疑我可能需要杀死整个引擎(即AudioKit.stop()
),从链中删除麦克风节点,然后重建并重新启动引擎,所有这些都在applicationWillResignActive
方法内。但这会打断 的节奏AKMetronome
,所以我希望它不会变成那样。