应用程序处于后台且静音模式开启时需要播放声音

Posted

技术标签:

【中文标题】应用程序处于后台且静音模式开启时需要播放声音【英文标题】:Need to play a sound when app is in background and silent mode is on 【发布时间】:2019-06-12 15:15:18 【问题描述】:

我正在尝试制作一个界面非常简单的计时器应用程序。问题是无法在后台运行代码块,并且当手机处于静音模式时,本地通知无法播放声音。我发现像伸展这样的应用程序可以满足这个特定的用例。

我已尝试使用本地通知解决此问题,但在开启静音模式时本地通知无法播放声音。

【问题讨论】:

我想我发现了一个类似的问题。 check this out: 我从来没有用过Stretch,但是我知道的应用程序,比如MultiTimer,无法解决这个问题,所以我认为它无法解决。也许Stretch使用了在后台连续播放无声的作弊方法来保持自己的生命。 【参考方案1】:

当设备处于静音模式时,使用AVAudiosessionCategoryPlayback 播放声音;用法:

 do 
    try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
 
 catch 
    // report for an error
 

【讨论】:

当应用程序处于后台时,我将无法运行此代码。我遇到问题的唯一用例是应用程序处于后台且静音模式开启时

以上是关于应用程序处于后台且静音模式开启时需要播放声音的主要内容,如果未能解决你的问题,请参考以下文章

在静音模式下播放声音,应用程序终止状态

iOS - 无法在后台播放声音

即使在静音模式下也能在 iPhone 上播放声音 [重复]

即使 iPhone 处于静音状态,AVAudioPlayer 仍在播放环境声音

当设备处于静音状态时,iOS可以播放本地通知声音

iPhone静音时如何播放声音?