同时有效作用区域:AppleTV、AirPlay投射,车载系统显示等位置
所需材料
- MediaPlayer.framework
- MPNowPlayingInfoCenter
- MPMediaItem
设定代码
import MediaPlayer
var nowPlayingInfo: [String : AnyObject] = [:]
nowPlayingInfo[MPMediaItemPropertyTitle] = title
nowPlayingInfo[MPMediaItemPropertyArtwork] = MPMediaItemArtwork(image : albumArtImg)
...
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = nowPlayingInfo
定义在 MPMediaItem 中的可用属性及对应值:
* MPMediaItemPropertyAlbumTitle //NSString
* MPMediaItemPropertyAlbumTrackCount //NSNumber of NSUInteger
* MPMediaItemPropertyAlbumTrackNumber //NSNumber of NSUInteger
* MPMediaItemPropertyArtist //NSString
* MPMediaItemPropertyArtwork //MPMediaItemArtwork
* MPMediaItemPropertyComposer //NSString
* MPMediaItemPropertyDiscCount //NSNumber of NSUInteger
* MPMediaItemPropertyDiscNumber //NSNumber of NSUInteger
* MPMediaItemPropertyGenre //NSString
* MPMediaItemPropertyPersistentID //NSNumber of uint64_t
* MPMediaItemPropertyPlaybackDuration //NSNumber of NSTimeInterval
* MPMediaItemPropertyTitle //NSString
定义在 MPNowPlayingInfoCenter 中的扩展属性
// 已播放的时间,用于显示播放进度
* MPNowPlayingInfoPropertyElapsedPlaybackTime //NSNumber (double)
// 播放速率,通常为1.0,用于自动刷新播放进度
* MPNowPlayingInfoPropertyPlaybackRate //NSNumber (double)
* MPNowPlayingInfoPropertyDefaultPlaybackRate //NSNumber (double)
* MPNowPlayingInfoPropertyPlaybackQueueIndex //NSNumber (NSUInteger)
* MPNowPlayingInfoPropertyPlaybackQueueCount //NSNumber (NSUInteger)
* MPNowPlayingInfoPropertyChapterNumber //NSNumber (NSUInteger)
* MPNowPlayingInfoPropertyChapterCount //NSNumber (NSUInteger)
手动更新 MPNowPlayingInfoCenter 时机
- 当前播放歌曲进度被拖动时
- 当前播放的歌曲变化时
- 播放暂停或者恢复时
- 当前播放歌曲的信息发生变化时(例如Artwork,duration等)