【发布时间】:2018-05-16 05:21:08
【问题描述】:
[description] 我找到了如何在 StackOverflow 中隐藏音量 HUD 的答案并尝试一下。然后它在启动时起作用,但在从后台返回时不起作用。
我希望检测到音量按钮按下,并执行某个过程。 因此,我想隐藏音量 HUD。
我搜索它并得到这些答案。
- Hide device Volume HUD view while adjusitng volume with MPVolumeView slider
- applicationMusicPlayer volume notification
我在我的代码中尝试过。 (我使用系统音量变化来检测音量按钮按下)
private let audioSession: AVAudioSession = AVAudioSession.sharedInstance()
private var systemVolumeSlider: UISlider? = nil
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
let volumeView: MPVolumeView = MPVolumeView(frame: CGRect.zero)
if let volumeSlider: UISlider = volumeView.subviews.first as? UISlider {
self.systemVolumeSlider = volumeSlider
}
self.view.addSubview(volumeView)
do {
try self.audioSession.setActive(true)
} catch {
print("error: can not setActive")
}
self.audioSession.addObserver(
self, forKeyPath: "outputVolume", options: [.old, .new], context: nil
)
}
override func observeValue(
forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?
) {
// Process
}
}
它在应用程序启动时起作用。但是,从后台返回(从睡眠或家中返回)时不起作用。
从后台返回时如何隐藏音量 HUD?
【问题讨论】: