ios - 检测音量按钮即使在音量最大时按下

标签 ios swift avaudiosession

我想检测何时按下音量按钮。我尝试了很多东西,比如添加一个 Observer,比如

AVAudioSession.sharedInstance().addObserver(self, forKeyPath: #keyPath(AVAudioSession.outputVolume), options: [.old, .new], context: nil)

然后覆盖:

override internal func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]?, context: UnsafeMutableRawPointer?)

但我想即使声音最大也能触发这个功能。

有一种方法可以在不改变声音的情况下做到这一点吗?

最佳答案

尝试

  AVAudioSession.sharedInstance().setActive(true)
  AVAudioSession.sharedInstance().observe(\.outputVolume) { [weak self] (audioSession, _) in
        <#code#>
    }

参见 https://github.com/andreamazz/SubtleVolume

关于ios - 检测音量按钮即使在音量最大时按下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53746799/

相关文章:

ios - 在 Objective-C 中访问 Swift OptionSetType

regex - Swift 正则表达式特殊字符

ios - 在通话过程中打开应用程序时相机卡住

ios - 异常 com.apple.coreaudio.avfaudio 原因 : error -50

ios - 暂停后台的所有音频 - iOS 调整

mysql - 将数据库初始数据下载到 iOS 应用程序的最佳方式是什么?

ios - SKSpriteNode 纹理黑框

ios - sceneKit 物理主体的比例不符合附加节点

ios - 使用解码对象(: forKey:) to decode an object that conforms to a protocol

arrays - 快速过滤元组数组