【问题标题】:Play audio in background and mute with mute switch在后台播放音频并使用静音开关静音
【发布时间】:2013-09-22 21:10:46
【问题描述】:

是否可以在后台使用 AVAudioPlayer 播放音频并使用 iPhone 上的静音开关将其静音?

我知道如果我设置了 AVAudioSessionCategoryPlayback,我可以在后台播放音频,但它不会使用静音开关静音。或者,如果我设置了 AVAudioSessionCategoryAmbient - 它会被开关静音,但也会在按下主页按钮时静音 - 我不希望这种情况发生。

更新: 我在“必需的后台模式”中有“应用程序播放音频或流式传输音频..” - 所以当我设置 AVAudioSessionCategoryPlayback 时,即使按下主页按钮,它也会继续在后台播放,但静音开关没有效果。

【问题讨论】:

  • 你看过 UIBackgroundModes。我认为您可以将它与 AVAudioSessionCategoryAmbient 一起使用。但不确定是否也可以使用主页按钮。
  • 我不确定,但我认为没有 AudioSessionCategories 是不可能的,如果你用一些棘手的方法解决它,你的应用程序可能会被苹果拒绝。祝你好运
  • @yucelbayram 我没有说我不想使用 AudioSessionCategories。如果您有使用它们的解决方案,那就太好了。
  • 抱歉之前我没有尝试使用开关按钮将其静音,但您检查了这个答案吗?也许有一些对你有用的东西。 stackoverflow.com/questions/287543/…
  • @yucelbayram 我只是认为当您可以使用静音开关静音所有声音时这是正常行为 - 即使在后台播放某些东西。

标签: ios objective-c avaudioplayer avaudiosession


【解决方案1】:

不,可用的 AVAudioSession 类别无法实现所需的行为。这可能是为了避免用户不必要的电池丢失或数据成本。当然,用户仍然可以决定使用音量按钮将音量降低到零。

由于也不再有公共 API 来检测静音/静音开关的状态,因此变通办法/黑客攻击很棘手,并且可能会在 App Store 提交时被拒绝。

【讨论】:

    猜你喜欢
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 1970-01-01
    相关资源
    最近更新 更多