我正在编写一个应用程序,它既使用AVAudioPlayer
播放本地mp3文件,又使用MPMusicPlayerController
播放系统/ Apple音乐/ iTunes音乐。
我在使用nowPlayingMP3Item
播放歌曲后,正在设置自定义AVAudioPlayer
。
我可以检查MusicController的播放状态,但如果从mp3更改为系统音乐,我需要重新加载UI ...
有没有办法观察(可能是音频会话)或某些事情并确定是否正在播放mp3或系统音乐并相应地更新UI?
感谢您的帮助
答案 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
}
}