首先要明白,通知中心是所有app共用的。
再明白上述的前提下,apple给开发者提供了相关接口。
再明白一件事,AVAudioSession也是多个App共用的。
首先,获取通知中心的控制权
Demo地址:https://github.com/quinn0809/Learn_AVFoundation
let commandCenter = MPRemoteCommandCenter.shared()
播放 按钮处理:
commandCenter.playCommand.addTarget {
[unowned self] event in
if self.player?.rate == 0.0 {
self.player?.play()
return .success
}
return .commandFailed
}
暂停 按钮处理
commandCenter.pauseCommand.addTarget {
[unowned self] event in
if self.player?.rate == 1.0 {
self.player?.pause()
return .success
}
return .commandFailed
}
下一曲
commandCenter.nextTrackCommand.addTarget {
[unowned self](event) -> MPRemoteCommandHandlerStatus in
self.playerItem? = AVPlayerItem.init(url: self.music2!)
self.player?.replaceCurrentItem(with: self.playerItem)
self.setupNowPlaying(title: "任素汐 - 我要你", img: "2")
return .success
}
上一曲
commandCenter.previousTrackCommand.addTarget {
[unowned self](event) -