【问题标题】:Detect ringer (mute button) position on iOS 5?检测 iOS 5 上的铃声(静音按钮)位置?
【发布时间】:2012-07-24 06:16:55
【问题描述】:

我想检测静音按钮的位置(打开或关闭音量的按钮)。我正在制作一个在后台播放声音的应用程序,但我想检测铃声是否已激活,所以我不会播放声音。毕竟,如果用户关闭手机音量,他不希望我的应用播放响亮的声音。

顺便说一句,我需要知道所有 iOS 设备的按钮位置,而不仅仅是 iPhone。

提前致谢。

【问题讨论】:

  • 如果手机音量关闭,您的应用将无法播放声音,所以我不知道这有什么关系。
  • 开关启动时无需关闭音量。如果您曾经在 iPhone 上玩过一些游戏,您就会知道通常可以通过激活该开关来关闭游戏音量。我的目标是检测那个开关的位置。
  • 是的,但您陈述的原因是您希望在手机音量关闭时避免播放声音...
  • 对不起,我应该说“如果用户激活了他手机的静音按钮”,那么我不想播放声音。

标签: iphone ios ipad ios5 audio


【解决方案1】:

请看一下这个answer。

如果您正在为越狱设备制作应用程序,您可能需要查看UIHardware。

【讨论】:

  • 我正在制作一个合法的应用程序,我不考虑越狱设备。
  • 我实际上已经阅读了那个帖子,显示的代码不适用于 iOS 5。我点击了 iOS 5 的链接,但我无法让它工作。
【解决方案2】:

我建议你查看RDBMuteSwitch。

【讨论】:

    【解决方案3】:

    如果您只想通过静音开关使声音静音,请使用configure your audio session to honor the mute switch 或AVAudioSessionCategoryAmbient 或AVAudioSessionCategorySoloAmbient。

    【讨论】:

      【解决方案4】:

      我知道是老帖子了,不过最近在githubhttps://github.com/Rich2k/RBDMuteSwitch找到了一个不错的代码,效果很好。

      这适用于 ipad 7.1(至少)。

      更新:RDBMuteSwitch 自 8.2 和 Xcode 6.2 起不起作用,我开始使用 SoundSwitch 并在 7.1 或更高版本上正常工作(我还不能在旧设备上测试)

      这是我找到它的answer。

      【讨论】:

        猜你喜欢
        • 2021-11-15
        • 1970-01-01
        • 2013-11-08
        • 2018-10-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-08
        • 2012-04-23
        相关资源
        最近更新 更多