我开发了一个聊天应用程序,问题是即使手机处于静音模式也能听到通知(1)。问题是,我希望在屏幕被锁定时播放通知(2)。我检查了所有AVAudioSession类别,看起来你可以有以下任何一种:
如果手机处于静音模式时如何禁用声音,但是当静音模式和屏幕上的手机未锁定时启用?是否可以进一步调整AVAudioSession,或者(显然不能)以编程方式轻松检测静音模式?
答案 0 :(得分:0)
好的,我修好了。解决方案是使用AudioToolbox和System Sound Services。我正在寻找AudioToolbox的行为,即它始终尊重铃声/静音开关,但它也可以在后台播放或屏幕锁定时播放。
由于我真的想使用AVAudioPlayer,我首先通过播放一个短的空白系统声音来检查铃声/静音开关(让我们说半秒声音)。如果完成回调的时间少于0.15秒,我知道我处于静音模式。如果没有,我继续播放AVAudioPlayer发出的任何声音。