获取设备数量 - 问题

时间:2018-03-08 20:09:38

标签: ios swift audio volume audiokit

巧合的是,在开发应用时,我的源代码遇到了一些奇怪的行为:

我已启动一个调用函数的间隔来输出设备的设定音量。

  

在真实设备(iPhone X)上测试代码时,我注意到当按下其中一个卷时,音量的"值似乎没有改变" 的按钮。

这是我正在使用的代码:

Timer.scheduledTimer(
            timeInterval: 0.5,
            target: self,
            selector: #selector(self.getSystemVolume),
            userInfo: nil,
            repeats: true)
@objc func getSystemVolume() {
    let outputVolume = AVAudioSession.sharedInstance().outputVolume
    print(outputVolume)
}

注意:我不确定这是不是错误 - 可能是!

但是:现在有人如何修复行为?任何帮助都会非常感谢:)

1 个答案:

答案 0 :(得分:0)

看起来我自己找到了一个可行的解决方案:

我已经添加了这些内容:

let volumeView = MPVolumeView()
    volumeView.setNeedsLayout()

我不知道为什么这些行导致代码工作,但是 - 现在它正在工作。

@objc func getSystemVolume() {
    let volumeView = MPVolumeView()
    volumeView.setNeedsLayout()
    let outputVolume = AVAudioSession.sharedInstance().outputVolume
    print(outputVolume)
}  

我真的希望有人可以添加评论为什么这些行修复代码。 :)