前言
MPNowPlayingInfoCenter 是 iOS 框架 MediaPlayer 中的一个类,主要用于管理锁屏界面、控制中心、通知中心中显示的“当前播放”媒体信息。它允许开发者向用户展示正在播放的音乐或媒体信息,并控制媒体播放。
通过 MPNowPlayingInfoCenter,你可以在锁屏上显示诸如歌曲标题、艺术家、专辑封面、播放进度等信息,同时还可以提供播放、暂停、快进等媒体控制。
本篇文章简单介绍一下 MPNowPlayingInfoCenter 以及用法。
1. nowPlayingInfo 属性
nowPlayingInfo 是一个字典,你可以通过它设置锁屏和控制中心显示的媒体信息。这个字典中的键值对指定了要展示的媒体元数据,比如标题、艺术家、专辑封面等。
MPNowPlayingInfoCenter.default().nowPlayingInfo = [
MPMediaItemPropertyTitle: "Song Title",
MPMediaItemPropertyArtist: "Artist Name",
MPMediaItemPropertyAlbumTitle: "Album Name",
MPNowPlayingInfoPropertyElapsedPlaybackTime: 0, // 当前播放的时间
MPMediaItemPropertyPlaybackDuration: 200, // 媒体总时长
MPNowPlayingInfoPropertyPlaybackRate: 1.0 // 播放速率,1.0表示正常播放,0.0表示暂停
]
常用的键值:
- MPMediaItemPropertyTitle: 媒体的标题(如歌曲名)。
- MPMediaItemPropertyArtist: 艺术家名。
- MPMediaItemPropertyAlbumTitle: 专辑名。
- MPMediaItemPropertyArtwork: 封面图片(使用 MPMediaItemArtwork 对象)。
- MPNowPlayingInfoPropertyElapsedPlaybackTime: 当前播放时间。
- MPNowPlayingInfoPropertyPlaybackRate: 播放速率(1.0 为正常播放,0.0 为暂停)。
2. 更新封面图片
MPMediaItemPropertyArtwork 可以用来设置媒体的封面图片。苹果文档建议使用 MPMediaItemArtwork 来处理动态图片大小调整,这样系统在不同场景下会自动调整封面的大小。
if let image = UIImage(named: "albumCover") {
let artwork = MPMediaItemArtwork(boundsSize: image