现在主流的音乐播放器基本都实现了锁屏后还能控制暂停、播放、切换的功能,之前一直没有在意,这两天闲来无事就研究了一下:
其实主要原理就是利用了iOS5.0以后出来的新API,
MPNowPlayingInfoCenter ,类实现其实很简单
MP_EXTERN_CLASS_AVAILABLE(5_0)
@interface MPNowPlayingInfoCenter : NSObject
// Returns the default now playing info center.
// The default center holds now playing info about the current application.
+ (MPNowPlayingInfoCenter *)defaultCenter;
// The current now playing info for the center.
// Setting the info to nil will clear it.
@property (copy, nullable) NSDictionary<NSString *, id> *nowPlayingInfo;
@end
可以看到是一个全局管理的单例模式,里面只有一个字典属性,用来保存在锁屏界面显示的信息;