音频会话与其他人混合即使其类别设置为播放(Swift)?

时间:2018-05-19 03:32:20

标签: swift audio avfoundation avaudioplayer audiokit

我正在使用AudioKit管理我的应用中的声音。我试图在锁定屏幕上显示播放/暂停按钮,这要求音频会话不能与可能正在运行的其他音频会话混合。为此,我将音频会话设置为“播放”类别,该类别不应与其他人混用。以下是我设置此方法的方法:

private func configureAudio() {
    do {
        try AKSettings.setSession(category: .playback, with: [])
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, with: [])
    } catch {
        print(error)
    }
    AKSettings.playbackWhileMuted = true;
}

这适用于即使在应用程序未对焦时也能播放音频,但即使音频设置为“播放”,音频仍会与其他会话混音。我做错了什么?

1 个答案:

答案 0 :(得分:2)

您已忘记激活音频会话,请将其添加到do块:

try AVAudioSession.sharedInstance().setActive(true)