我正在使用AVAudioSession,我在启动时在浏览器中激活。我已经设置了类别AVAudioSessionCategoryPlayback。我没有设置任何类别选项。我想要在背景中播放音频。如果我不使用AVAudioSession,那么即使在后台我也无法播放音频。我不希望我的应用程序的音频与iTunes歌曲混合并同时播放。作为其浏览器应用程序,我们始终不需要audioSession,但仅在播放音频时。类似于移动Safari在iTunes音乐开启时处理音频的方式。我看到了AVAudioSession的其他类别选项和模式。请提出相同的建议。
答案 0 :(得分:0)
我在这里解决了这个问题,
Xcode 10.x Swift 4
在您的 AppDelegate.swift
中添加以下代码func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
do {
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, mode: AVAudioSessionModeDefault, options: [.mixWithOthers, .allowAirPlay])
print("Playback OK")
try AVAudioSession.sharedInstance().setActive(true)
print("Session is Active")
} catch {
print(error)
}
return true
}
注意:-请根据需要配置选项。例如在播放视频文件时停止添加背景音频
options: [.allowAirPlay, .defaultToSpeaker]