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

问题描述 投票:3回答:3

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

    var isOtherAudioPlaying = AVAudioSession.sharedInstance().otherAudioPlaying
      println("isOtherAudioPlaying>>> \(isOtherAudioPlaying)")
      if(isOtherAudioPlaying == false)
           {
            audioPlayer1!.play()
           }
ios swift avaudioplayer background-music
3个回答
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: [])
}

0
投票

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

在AppDelegate.swift中添加:

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

请享用!


0
投票

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

更多细节:https://developer.apple.com/documentation/avfoundation/avaudiosession

© www.soinside.com 2019 - 2024. All rights reserved.