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

Posted

技术标签:

【中文标题】即使将其类别设置为播放(Swift),音频会话也会与其他会话混合?【英文标题】:Audio session mixes with others even when its category is set to playback (Swift)? 【发布时间】:2018-05-19 03:32:19 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

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

try AVAudioSession.sharedInstance().setActive(true)

【讨论】:

以上是关于即使将其类别设置为播放(Swift),音频会话也会与其他会话混合?的主要内容,如果未能解决你的问题,请参考以下文章

即使类别是 AVAudioSessionCategoryPlayback,AVAudioPlayer 也会在屏幕锁定时停止播放

Swift:命令中心不起作用,即使我明确设置按钮启用?

iOS 无法在扬声器上播放并将音频会话设置为录制

Swift实现iOS录音与播放音频功能

如何将我的音频会话默认行为设置为快速播放?

在后台应用程序不起作用时播放音频