| | |
| | | |
| | | var dic = [String:Any]() |
| | | dic[MPMediaItemPropertyTitle] = "测试" |
| | | dic[MPMediaItemPropertyArtist] = "心泉·疗愈" |
| | | dic[MPMediaItemPropertyDiscNumber] = 1 |
| | | dic[MPNowPlayingInfoPropertyElapsedPlaybackTime] = loadTime |
| | | dic[MPNowPlayingInfoPropertyPlaybackRate] = 1 |
| | | // 获取时长。item.duration.seconds 不凑效 |
| | | let asset = self.player?.currentItem?.asset |
| | | dic[MPMediaItemPropertyPlaybackDuration] = CMTimeGetSeconds(asset!.duration) |
| | | // dic[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(boundsSize: CGSize(width: 50, height: 50), requestHandler: { s in |
| | | // return UIImage() |
| | | // }) |
| | | dic[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(boundsSize: CGSize(width: 50, height: 50), requestHandler: { s in |
| | | return UIImage(named: "home_top_bg")! |
| | | }) |
| | | MPNowPlayingInfoCenter.default().nowPlayingInfo = dic |
| | | } |
| | | |
| | |
| | | setLockScreen() |
| | | |
| | | do { |
| | | try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.mixWithOthers, .allowAirPlay]) |
| | | print("Playback OK") |
| | | try AVAudioSession.sharedInstance().setActive(true) |
| | | print("Playback OK") |
| | | try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.allowBluetooth, .allowAirPlay]) |
| | | print("Session is Active") |
| | | } catch { |
| | | print(error) |
| | |
| | | } |
| | | |
| | | // 播放 |
| | | center.playCommand.addTarget { event in |
| | | center.playCommand.addTarget {[unowned self] event in |
| | | self.player?.play() |
| | | return .success |
| | | } |
| | | |
| | | // 暂停 |
| | | center.pauseCommand.addTarget { event in |
| | | center.pauseCommand.addTarget {[unowned self] event in |
| | | self.player?.pause() |
| | | return .success |
| | | } |
| | | |
| | |
| | | return .success |
| | | } |
| | | |
| | | center.nextTrackCommand.isEnabled = false |
| | | center.previousTrackCommand.isEnabled = false |
| | | |
| | | // 上一首 |
| | | center.previousTrackCommand.addTarget { event in |
| | | return .success |