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

How can I detect whether an iOS device is in silent mode or not?

我找了好几个小时,似乎找不到任何 API 来解释如何检测 iPhone 振铃器是否处于静音模式。这就是我要说的:

我是否可以使用 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: Your audio is silenced by screen locking and by the Silent switch

AVAudioSessionCategoryPlayBack: Your Audio continues with the Silent switch set to silent or when the screen locks