远程控制单例对象
// 获取远程控制单例对象(用于锁屏界面的交互)
MPRemoteCommandCenter *rcc=[MPRemoteCommandCenter sharedCommandCenter];
播放,暂停,上下曲,停止
// 播放,暂停,上下曲,停止 的命令 默认:true
// 开启播放按钮命令(锁屏时 或 上拉时 的播放按钮),添加触发调用方法 (实现调用方法后 播放音乐时锁屏界面和上拉界面有所变化)
[rcc.playCommand setEnabled:true];
[rcc.pauseCommand setEnabled:true];
[rcc.previousTrackCommand setEnabled:true];
[rcc.nextTrackCommand setEnabled:true];
[rcc.stopCommand setEnabled:true];
[rcc.playCommand addTarget:self action:@selector(handlePlay:)]; // :(MPRemoteCommand *)command
[rcc.pauseCommand addTarget:self action:@selector(handlePause:)];
[rcc.previousTrackCommand addTarget:self action:@selector(handlePrevious:)];
[rcc.nextTrackCommand addTarget:self action:@selector(handleNext:)];
[rcc.stopCommand addTarget:self action:@selector(handleStop:)];
前进,倒退
// 前进,倒退
[rcc.skipForwardCommand setEnabled:true];
[rcc.skipForwardCommand addTarget:self action:@selector(handleSkipForward:)]; // : (MPSkipIntervalCommandEvent *)skipEvent kipEvent.interval
[rcc.skipForwardCommand setPreferredIntervals:@[@(20)]]; // 设置快进时间(最大 99)
//
[rcc.skipBackwardCommand setEnabled:true];
[rcc.skipBackwardCommand addTarget:self action:@selector(handleSkipBack:)];
[rcc.skipBackwardCommand setPreferredIntervals:@[@20]]; // 设置快退时间(最大99)
耳机上的播放按钮
// 耳机上的播放按钮命令
[rcc.togglePlayPauseCommand setEnabled:true];
[rcc.togglePlayPauseCommand addTarget:self action:@selector(handlePlayPause:)];
改变播放模式
//
[rcc.changePlaybackRateCommand setEnabled:true];
[rcc.changePlaybackRateCommand setSupportedPlaybackRates:@[@(1),@(1.5),@(2)]];
[rcc.changePlaybackRateCommand addTarget:self action:@selector(handleRate:)]; // :(MPChangePlaybackRateCommand*)rate
评分
// 评分
[rcc.ratingCommand setEnabled:true];
[rcc.ratingCommand setMinimumRating:0.0];
[rcc.ratingCommand setMaximumRating:5.0];
[rcc.ratingCommand addTarget:self action:@selector(handleRate:)]; // :(MPRatingCommand *)commd
反馈按钮
// 反馈按钮默认false
// 添加喜欢按钮
[rcc.likeCommand setEnabled:true];
[rcc.likeCommand addTarget:self action:@selector(handleLike:)]; // : (MPFeedbackCommandEvent *)feedbackEvent
[rcc.likeCommand setLocalizedTitle:@"喜欢"];
// 添加不喜欢按钮
[rcc.dislikeCommand setEnabled:true];
[rcc.dislikeCommand addTarget:self action:@selector(handleDisLike:)];
[rcc.dislikeCommand setLocalizedTitle:@"不喜欢"];
// 标签
[rcc.bookmarkCommand setEnabled:true];
[rcc.bookmarkCommand addTarget:self action:@selector(handleBookMark:)];
[rcc.bookmarkCommand setLocalizedTitle:@"book"];
显示信息
// 显示信息单例
MPNowPlayingInfoCenter *infoCenter=[MPNowPlayingInfoCenter defaultCenter];
// 锁屏界面图片
MPMediaItemArtwork *work=[[MPMediaItemArtwork alloc]initWithImage:[UIImage imageNamed:@""]];
// 信息
infoCenter.nowPlayingInfo=@{
MPMediaItemPropertyTitle:@"title",
MPMediaItemPropertyArtist:@"作者",
MPMediaItemPropertyAlbumTitle:@"专辑名",
MPMediaItemPropertyPlaybackDuration:@100, // 歌曲时长
MPNowPlayingInfoPropertyElapsedPlaybackTime:@(100), // 当前播放时间
MPMediaItemPropertyArtwork:[[MPMediaItemArtwork alloc]initWithImage:[UIImage imageNamed:@""]], // 歌曲插图
};