1.获取当前系统音量
AVAudioSession属于MediaPlayer,在class前面 import MediaPlayer 即可使用之获取系统当前音量,代码如下:
do{
tryAVAudioSession.sharedInstance().setActive(true)
}catchlet error asNSError{
print("\(error)")
}
let currentVolume =AVAudioSession.sharedInstance().outputVolume
ps:一定要setActive(true),一开始就是死在这里
2.监听系统音量变换
使用NSNotificationCenter可以监听到ios系统的好多动作,这里音量变化监听的动作是:AVSystemController_SystemVolumeDidChangeNotification
代码如下:
func systemVolumeListener(){
NSNotificationCenter.defaultCenter().addObserver(self,
selector: "voiceChange:",name:"AVSystemController_SystemVolumeDidChangeNotification",
object:nil)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
}
func voiceChange(notification:NSNotification){
let volume =notification.userInfo["AVSystemController_AudioVolumeNotificationParameter"]as!Float
print("volume:\(volume)")
}
记得在destory中做处理:
func destory(){
NSNotificationCenter.defaultCenter().removeObserver(self,name: "AVSystemController_SystemVolumeDidChangeNotification",object:nil)
UIApplication.sharedApplication().endReceivingRemoteControlEvents()
}
}
}
原文链接:https://www.f2er.com/swift/322561.html