当屏幕被锁定时,iOS /播放音频,而当电话处于静音模式时则不播放

时间:2015-06-20 04:41:19

标签: ios iphone avaudiosession

我开发了一个聊天应用程序,问题是即使手机处于静音模式也能听到通知(1)。问题是,我希望在屏幕被锁定时播放通知(2)。我检查了所有AVAudioSession类别,看起来你可以有以下任何一种:

  • 当手机处于静音模式或屏幕锁定时,声音被禁用;
  • 即使手机处于静音模式或屏幕锁定状态,也会启用声音。

如果手机处于静音模式时如何禁用声音,但是当静音模式和屏幕上的手机未锁定时启用?是否可以进一步调整AVAudioSession,或者(显然不能)以编程方式轻松检测静音模式?

1 个答案:

答案 0 :(得分:0)

好的,我修好了。解决方案是使用AudioToolbox和System Sound Services。我正在寻找AudioToolbox的行为,即它始终尊重铃声/静音开关,但它也可以在后台播放或屏幕锁定时播放。

由于我真的想使用AVAudioPlayer,我首先通过播放一个短的空白系统声音来检查铃声/静音开关(让我们说半秒声音)。如果完成回调的时间少于0.15秒,我知道我处于静音模式。如果没有,我继续播放AVAudioPlayer发出的任何声音。