iOS 9中的AVAudioSession.sharedInstance()。setCategory

问题描述 投票:0回答:1

我想在手机处于静音模式时播放音频。

我可以在> = iOS 10中使用以下语句执行此操作:

try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, mode: AVAudioSessionModeDefault, options: .mixWithOthers)

但是我如何为iOS 9做到这一点? Xcode告诉我,此声明仅适用于iOS 10或更高版本。

我尝试了以下但它不起作用:

enter image description here

swift avplayer avaudiosession
1个回答
0
投票

事实上,setCategory方法在最近的Xcodes和SDK中正在迅速发生变化。

你需要找到合适的组合。

对于Xcode 10.2(Swift语言版本4.2,5)

        if #available(iOS 10.0, *) {
            //Xcode 10.2 (Swift Language Version 4.2,5)
            //Xcode 10.1 (Swift Language Version 4.2)
            try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: .mixWithOthers)
        } else {
            //Xcode 10.2 (Swift Language Version 4.2,5)
            try AVAudioSession.sharedInstance().setCategory(.playback, options: .mixWithOthers)
        }

对于Xcode 10.2(Swift语言版本4.0)或Xcode 10.1(Swift语言版本4.0)

        if #available(iOS 10.0, *) {
            //Xcode 10.2 (Swift Language Version 4.0)
            //Xcode 10.1 (Swift Language Version 4.0)
            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, mode: AVAudioSessionModeDefault, options: .mixWithOthers)
        } else {
            //Xcode 10.2 (Swift Language Version 4.0)
            //Xcode 10.1 (Swift Language Version 4.0)
            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: .mixWithOthers)
        }

(不幸的是,我找不到用Xcode 10.1(Swift语言版本4.2)为iOS 9调用setCategory的方法。)

无论如何,请重新检查您的Swift语言版本设置:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.