如何检测 iOS 设备是不是处于静音模式?
Posted
技术标签:
【中文标题】如何检测 iOS 设备是不是处于静音模式?【英文标题】:How can I detect whether an iOS device is in silent mode or not?如何检测 iOS 设备是否处于静音模式? 【发布时间】:2016-02-09 05:42:45 【问题描述】:我一直在寻找几个小时,但似乎找不到任何 API 来解释如何检测 iPhone 铃声是否处于静音模式。这就是我要说的:
我是否可以使用 Swift 代码确定 ios 设备的静音模式是打开还是关闭?我专门寻找 iOS8 及更高版本,因为 iOS5 已被弃用。谢谢。
【问题讨论】:
你检查过这个***.com/a/20992650/5362916 我有,最重要的答案是苹果还没有建立它。然而,当静音按钮打开/关闭时,我已经看到 Snapchat 和其他应用程序将其视频播放静音/取消静音。他们是如何做到的呢?这个答案也适用于 iOS 4...@Uma 【参考方案1】:我认为没有,您可能不需要直接调用 API 来检测设备是否静音。你需要知道的是:
当播放声音时,你会做这样的事情:
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategory)
try AVAudioSession.sharedInstance().setActive(true)
audioPlayer = try AVAudioPlayer(contentsOfURL: alertSound)
audioPlayer.prepareToPlay()
audioPlayer.play()
在AVAudioSessionCategory
中,可以指定:
AVAudioSessionCategorySoloAmbient:您的音频被屏幕静音 锁定和静音开关
AVAudioSessionCategoryPlayBack:您的音频继续静音 开关设置为静音或屏幕锁定时
【讨论】:
这很有帮助。这不是我想要的完全正确的解决方案,但这可以塑造我的应用程序的工作方式。非常感谢你! 如果当前正在播放视频,您如何检测到它已静音?以上是关于如何检测 iOS 设备是不是处于静音模式?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Adobe air 在静音模式下检测设备并与之交互 - AS3
检测 ios11 设备是不是处于低功耗模式,以防止正常正确自动播放视频时出现不良 UX
如何检测 UIAccessibilityRequestGuidedAccessSession 在设备上是不是处于活动状态,iOS swift?