2017-02-15 34 views
0

打断了我写的是同时使用AVAudioPlayer来播放本地mp3文件和MPMusicPlayerController播放系统/苹果音乐/ iTunes音乐应用程序。 我在使用AVAudioPlayer播放歌曲后,正在维护自定义的nowPlayingMP3ItemAVAudioPlayer被MPMusicPlayerController

我可以检查MusicController回放状态,但我需要重新加载UI如果从MP3到系统的音乐改变了......

有什么办法来观察(也许音频对话)或什么东西,并确定是否正在播放MP3或系统音乐并相应地更新UI?

感谢所有帮助

+1

您是否尝试收听'AVAudioSessionInterruptionNotification'通知? –

+0

是的,只是试了一下。工作很好:)谢谢 – xCoder

回答

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 
    } 
} 
相关问题