【问题标题】:AVAudioSession.sharedInstance().setCategory in iOS 9iOS 9 中的 AVAudioSession.sharedInstance().setCategory
【发布时间】:2019-04-10 07:39:23
【问题描述】:

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

我可以通过以下语句在 >= iOS 10 中做到这一点:

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

但是对于 iOS 9,我该如何做呢? Xcode 告诉我,此语句仅适用于 iOS 10 或更高版本。

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

【问题讨论】:

  • 您使用的是哪个版本的 Xcode?​​span>
  • 我使用的是 Xcode 10.2
  • 你能把你的 Swift 语言版本设置为 4.0 吗?
  • 设置为4.2
  • 恐怕您没有成功将 Swift 语言版本设置为 4.2。当您将其设置为 4.2 时,try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, mode: AVAudioSessionModeDefault, options: .mixWithOthers) 行不会编译。我将向您展示每种设置的一些组合作为答案。

标签: swift avplayer avaudiosession


【解决方案1】:

事实上,setCategory 方法在最近的 Xcode 和 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 语言版本设置:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2019-02-24
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-08
    • 2017-07-10
    相关资源
    最近更新 更多