2017-02-15 61 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 
    } 
} 
相關問題