Swift 3.0 AVAudioPlayer 通过音乐播放音频

Cra*_*iss 4 avaudioplayer ios swift swift3

目前这是我用来在按下按钮时播放声音的代码。

var player: AVAudioPlayer?

    let url = Bundle.main.url(forResource: "Sound/yatch", withExtension: "mp3")!

    do {
        player = try AVAudioPlayer(contentsOf: url)
        guard let player = player else { return }

        player.prepareToPlay()
        player.play()
    } catch let error {
        print(error.localizedDescription)
    }
Run Code Online (Sandbox Code Playgroud)

我试图让这个音频运行在当前播放的内容上(例如 Spotify、pandora、音乐)。我该怎么做呢?

JAL*_*JAL 5

将应用程序的音频会话设置为在当前播放的音频上播放:

try? AVAudioSession.sharedInstance().setActive(true)
try? AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient)
Run Code Online (Sandbox Code Playgroud)

根据AVAudioSession标题,AVAudioSessionCategoryAmbient将播放音频和音乐等。

/*  Use this category for background sounds such as rain, car engine noise, etc.
 Mixes with other music. */
public let AVAudioSessionCategoryAmbient: String
Run Code Online (Sandbox Code Playgroud)