AVAudioPlayer被MPMusicPlayerController打断

时间:2017-02-15 14:03:32

标签: ios objective-c swift avaudioplayer

我正在编写一个应用程序,它既使用AVAudioPlayer播放本地mp3文件,又使用MPMusicPlayerController播放系统/ Apple音乐/ iTunes音乐。 我在使用nowPlayingMP3Item播放歌曲后,正在设置自定义AVAudioPlayer

我可以检查MusicController的播放状态,但如果从mp3更改为系统音乐,我需要重新加载UI ...

有没有办法观察(可能是音频会话)或某些事情并确定是否正在播放mp3或系统音乐并相应地更新UI?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

当出现中断时,音频将暂停,音频会话将被停用。如果您的应用包含播放界面,则需要更新界面。中断结束后,您可以激活音频会话并恢复音频播放。

NotificationCenter.default.addObserver( forName: .AVAudioSessionInterruption, object: nil, queue: nil) { n in
    let why = AVAudioSessionInterruptionType( rawValue: n.userInfo![ AVAudioSessionInterruptionTypeKey] as! UInt)!
    if why = = .began {
        // began
    }
    else {
        // ended
    }
}