我在iphone中播放音乐,当我运行我的应用程序时,它不应该停止背景设备音乐,应该停止自己的音乐,而背景音乐正在停止。我想和糖果粉碎应用程序一样。我该怎么做才能解决这个问题?请帮我
var isOtherAudioPlaying = AVAudioSession.sharedInstance().otherAudioPlaying
println("isOtherAudioPlaying>>> \(isOtherAudioPlaying)")
if(isOtherAudioPlaying == false)
{
audioPlayer1!.play()
}
我建议查看Sameer's answer to this for Swift 2.0, just a few months back.与Swift 2.0完美搭配。
let sess = AVAudioSession.sharedInstance()
if sess.otherAudioPlaying {
_ = try? sess.setCategory(AVAudioSessionCategoryAmbient, withOptions: []) //
_ = try? sess.setActive(true, withOptions: [])
}
由于默认值为AVAudioSessionCategorySoloAmbient,因此您需要为应用设置正确的类别并将其激活。您可以使用AVAudioSessionCategoryAmbient来混合音频。
在AppDelegate.swift中添加:
func applicationDidBecomeActive(application: UIApplication) {
AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
AVAudioSession.sharedInstance().setActive(true, error: nil)
// ...
}
请享用!
推迟AVAudioSession.sharedInstance().setActive(true, error: nil)
,直到你需要开始播放音频。应用程序启动后立即启动会话将停止在其他应用程序上播放。
更多细节:https://developer.apple.com/documentation/avfoundation/avaudiosession