如何在 iOS 中检测铃声开关状态?

Posted

技术标签:

【中文标题】如何在 iOS 中检测铃声开关状态?【英文标题】:How to detect ringer switch state in iOS? 【发布时间】:2013-05-19 15:16:14 【问题描述】:

我为使用 AVAudioPlayer 播放音乐的应用配置了 kAudiosessionCategory_AmbientSound 的音频会话。但问题是应用程序也使用 OpenAL 播放效果。我希望始终播放音乐(也在后台播放),但只有在静音开关未静音时才会播放 OpenAL 音效。

【问题讨论】:

【参考方案1】:

没有记录的方法,但您可以尝试this project。这是一个开源项目,声称它可以检测您的静音开关状态是否发生变化。

【讨论】:

【参考方案2】:

一个与 iOS-5 兼容的技巧(shabzco 发布的来源使用该技巧)是播放已知长度的录音。如果完成处理程序的触发时间比预期的要早,则静音开关可能已打开。

【讨论】:

以上是关于如何在 iOS 中检测铃声开关状态?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:如何播放忽略音量和铃声开关设置的声音?

iOS 铃声开关使网络音频静音

如何将铃声模式更改为(静音或振动)模式

在 iOS 5 中检测 iPhone 静音开关

如何在控制中心检测蓝牙真正关闭(或蓝牙开关按钮关闭)

如何检测 iOS 设备是不是处于静音模式?