美文网首页iOS Developer
swift3.0代码更改iPhone的声音

swift3.0代码更改iPhone的声音

作者: 小明2021 | 来源:发表于2017-06-06 09:38 被阅读534次

    想要调整iPhone的声音,必须通知这种方式调用系统的单例MPVolumeView调整它的子视图UISlider,这时会弹出音量的提示框(这是合理的,苹果不允许不给用户任何提示就更改了系统声音了)

      /// 改变系统声音为 90%
        public class func changeVolumeToMax() {
            let volumeBig = MPVolumeView()
            var slider: UISlider?
            for view: UIView in volumeBig.subviews {
            SLog(view.self.description)
                SLog(view.className())
                if view.className() == "MPVolumeSlider" {
                    slider = view as? UISlider
                    break
                }
            }
            let systemVolume = slider?.value ?? 0.5
            if systemVolume < 0.9 {
                slider?.setValue(0.9, animated: false)
                slider?.sendActions(for: .touchUpInside)
            }
        }
    

    录音或者语音识别的时候更改声音模式为:AVAudioSessionCategoryPlayAndRecord

    /// 设置声音变小 - 录音的时候需要小
        public class func volumeLittle() {
            let session = AVAudioSession.sharedInstance()
            if session.category != AVAudioSessionCategoryPlayAndRecord {
                try! session.setCategory(AVAudioSessionCategoryPlayAndRecord)
                try! session.setActive(true)
            }
        }
    

    播放声音的时候更改声音模式为:AVAudioSessionCategoryPlayback,否则播放的声音很小

       /// 设置声音变大 - 播放声音的时候需要大
        public class func volumeBig() {
            let session = AVAudioSession.sharedInstance()
            if session.category != AVAudioSessionCategoryPlayback {
                try! session.setCategory(AVAudioSessionCategoryPlayback)
                try! session.setActive(true)
            }
        }
    

    相关文章

      网友评论

        本文标题:swift3.0代码更改iPhone的声音

        本文链接:https://www.haomeiwen.com/subject/prkgfxtx.html