【问题标题】:Get device volume - issue获取设备音量 - 问题
【发布时间】:2018-08-17 07:26:17
【问题描述】:

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

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

在真实设备(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)
}

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

但是:现在有人如何解决问题吗? 任何帮助将不胜感激:)

【问题讨论】:

  • 在执行这个函数之前,你是在录音吗?
  • 不。在没有声音输入/输出的情况下对其进行了测试-在这两种情况下都不起作用! @ShivamTripathi

标签: ios swift audio volume audiokit


【解决方案1】:

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

我已经添加了这些行:

let volumeView = MPVolumeView()
    volumeView.setNeedsLayout()

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 2013-02-09
    相关资源
    最近更新 更多