如何检测iOS设备是否处于静默模式?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检测iOS设备是否处于静默模式?相关的知识,希望对你有一定的参考价值。

我一直在寻找几个小时,我似乎找不到任何解释如何检测iPhone铃声是否处于静音模式的API。这就是我所说的:

iPhone Ringer Switch

无论如何我可以使用Swift代码找出ios设备的静音模式是打开还是关闭?我特意寻找iOS8及以上,因为iOS5已被弃用。谢谢。

答案

我认为没有,您可能不需要直接调用API来检测设备是否静音。你需要知道的是:

播放声音时,您将执行以下操作:

        try AVAudioSession.sharedInstance().setCategory({AVAudioSessionCategory})
        try AVAudioSession.sharedInstance().setActive(true)
        audioPlayer = try AVAudioPlayer(contentsOfURL: alertSound)
        audioPlayer.prepareToPlay()
        audioPlayer.play()

{AVAudioSessionCategory}中,您可以指定:

AVAudioSessionCategorySoloAmbient:通过屏幕锁定和静音开关使您的音频静音

AVAudioSessionCategoryPlayBack:您的音频继续将静音开关设置为静音或屏幕锁定

以上是关于如何检测iOS设备是否处于静默模式?的主要内容,如果未能解决你的问题,请参考以下文章

检测 ios11 设备是不是处于低功耗模式,以防止正常正确自动播放视频时出现不良 UX

如何在 iOS 和 Android 的给定时间检测用户是不是仅在一台设备上处于活动状态

如何在 Android 上检测飞行模式?

如何检测 UIAccessibilityRequestGuidedAccessSession 在设备上是不是处于活动状态,iOS swift?

如何在 Android 上检测飞行模式?

静默推送通知是不是能够唤醒 ios 中处于未运行状态的应用程序?