随着应用程序启动ios,后台设备音乐停止

时间:2015-01-28 14:18:40

标签: ios swift avaudioplayer background-music

我正在iphone中播放音乐,当我运行我的应用程序时,它不应该停止背景设备音乐,应该停止自己的音乐,而背景音乐正在停止。我想和糖果粉碎应用程序一样。我该怎么做才能解决这个问题?请帮帮我

    var isOtherAudioPlaying = AVAudioSession.sharedInstance().otherAudioPlaying
      println("isOtherAudioPlaying>>> \(isOtherAudioPlaying)")
      if(isOtherAudioPlaying == false)
           {
            audioPlayer1!.play()
           }

4 个答案:

答案 0 :(得分:1)

我建议查看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: [])
}

答案 1 :(得分:0)

由于默认值为AVAudioSessionCategorySoloAmbient,因此您需要为应用设置正确的类别并将其激活。您可以使用AVAudioSessionCategoryAmbient来混合音频。

在AppDelegate.swift中添加:

func applicationDidBecomeActive(application: UIApplication) {
  AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil)
  AVAudioSession.sharedInstance().setActive(true, error: nil)
  // ...
}

享受!

答案 2 :(得分:0)

AVAudioSession.sharedInstance().setActive(true, error: nil)推迟到需要开始播放音频时。应用启动后立即开始会话,将停止在其他应用上播放。

更多详细信息: https://developer.apple.com/documentation/avfoundation/avaudiosession

答案 3 :(得分:0)

Xcode 10.3
雨燕4.2
在iPhoneX(12.2),iPhone5s(11.0.3)中进行了测试

功能->以静音模式+与其他应用程序音频一起播放音频。

这是代码,

private func setupAudioSession() {
        //enable other applications music to play while quizView
        let options = AVAudioSession.CategoryOptions.mixWithOthers
        let mode = AVAudioSession.Mode.default
        let category = AVAudioSession.Category.playback
        try? AVAudioSession.sharedInstance().setCategory(category, mode: mode, options: options)
        //---------------------------------------------------------------------------------
        try? AVAudioSession.sharedInstance().setActive(true)
    }

我建议您在AppDelegate中设置此功能-> didFinishLaunchingWithOptions ....