iOS 9以静音模式播放音频,但保留其他应用程序';正在播放音乐

iOS 9以静音模式播放音频,但保留其他应用程序';正在播放音乐,ios,audio,Ios,Audio,我的应用程序中有一些警告音,但我确实需要背景音乐(如Spotify)来保持后台运行。这件事是我自己解决的 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil]; 但是,在静默模式下,myAVAudioPlayers会静音,但即使在静默模式下,声音也是至关重要的。我读过关于AudioServicesPlaySystemSound忽略静音模式的文章,但它没有,至少在iOS9上没有

我的应用程序中有一些警告音,但我确实需要背景音乐(如Spotify)来保持后台运行。这件事是我自己解决的

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
但是,在静默模式下,my
AVAudioPlayer
s会静音,但即使在静默模式下,声音也是至关重要的。我读过关于
AudioServicesPlaySystemSound
忽略静音模式的文章,但它没有,至少在iOS9上没有


还有其他的可能性吗?哦,请浪费你的时间说“作为一个用户,我会讨厌这个”,“它不是被称为静默模式”之类的话。。。这是一个编程页面,不是一个哲学类。

音频会话类别AVAUDIOSSESSIONCATEGORYAMBIENT将遵循文档中所述的响铃/静音开关-

A审计业务类别 应用程序的类别,其中声音播放是非主要的,也就是说,您的应用程序可以在关闭声音的情况下成功使用

。。。您的音频通过屏幕锁定和静音开关(iPhone上称为铃声/静音开关)静音

我建议尝试一个更适合的类别,混合选项如下-

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback 
                                 withOptions:AVAudioSessionCategoryOptionMixWithOthers 
                                       error:nil];
AVAudioSessionCategoryPlayback类别将忽略文档中提到的静音开关-

使用此类别时,当静音开关设置为静音或屏幕锁定时,应用程序音频将继续


我将代码放在播放音频的按钮操作中:

这也适用于较新的iOS版本(我在iOS 12中使用)

(在静音模式下播放背景音乐,同时在应用程序中一起单击按钮时播放音频)


这在iOS 9中仍然有效吗?当我在通用汽车上尝试这一功能时,它不再工作,只是在振动。它对我也不起作用:iPhone8,软件版本13.7
import AVFoundation

var audioPlayer = AVAudioPlayer()

@IBAction func btnAudioClickableAct(_ sender: Any) {

    let audioSession = AVAudioSession.sharedInstance()
    try!audioSession.setCategory(AVAudioSessionCategoryPlayback, with: AVAudioSessionCategoryOptions.mixWithOthers)

    if let path = Bundle.main.path(forResource: "activityAudio", ofType: "mp3") {

        let filePath = NSURL(fileURLWithPath:path)
        audioPlayer = try! AVAudioPlayer.init(contentsOf: filePath as URL)
        audioPlayer.prepareToPlay()
        audioPlayer.play()

    }

}