捕获音量增大/减小按钮按下的最佳/最干净的方法是什么iOS 8?
理想情况下,我想捕获按键并防止系统音量发生变化(或者至少防止 HUD 显示音量变化)。
有一些旧的答案使用已弃用的方法,并且似乎在 iOS 8 上根本不起作用。iOS 8 具体一也没用。
This RB音量按钮开源类似乎也不适用于 iOS 8。
对于 Swift,您可以在 viewController 类中使用以下代码:
let volumeView = MPVolumeView(frame: CGRectMake(-CGFloat.max, 0.0, 0.0, 0.0))
self.view.addSubview(volumeView)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(volumeChanged(_:)), name: "AVSystemController_SystemVolumeDidChangeNotification", object: nil)
然后添加这个功能
func volumeChanged(notification: NSNotification) {
if let userInfo = notification.userInfo {
if let volumeChangeType = userInfo["AVSystemController_AudioVolumeChangeReasonNotificationParameter"] as? String {
if volumeChangeType == "ExplicitVolumeChange" {
// your code goes here
}
}
}
}
此代码检测用户显式的音量更改操作,如果您没有检查显式操作,则会定期自动调用此函数。
此代码不会阻止系统音量更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)