#pragma mark - 设置锁频播放时显示的信息 ----
- (void)setLockScreenPlayingInfo:(NSNumber *)playbackRate {
if (self.courseIndex >= self.courseModel.courses.count) {
return;
}
// 下面构建锁屏信息时,需使用弱应用weakSelf,负责会导致内存泄露
__weak typeof(self) weakSelf = self;
MPMediaItemArtwork *artWork = [[MPMediaItemArtwork alloc] initWithBoundsSize:CGSizeMake(100, 100) requestHandler:^UIImage *_Nonnull (CGSize size) {
return weakSelf.iconImage;
}];
MTCourse *course = weakSelf.courseModel.courses[weakSelf.courseIndex];
NSDictionary *artDic = @{ MPMediaItemPropertyTitle: course.spot.spotName,
MPMediaItemPropertyArtist: course.spot.countryName,
MPMediaItemPropertyArtwork: artWork,
MPMediaItemPropertyPlaybackDuration: @(weakSelf.voicePlayManager.audioPlayer.duration),
MPNowPlayingInfoPropertyElapsedPlaybackTime: @(weakSelf.voicePlayManager.audioPlayer.currentTime),
MPNowPlayingInfoPropertyPlaybackRate: playbackRate};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:artDic];
//播放
MPRemoteCommand *playCommand = [MPRemoteCommandCenter sharedCommandCenter].playCommand;
[playCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) {
return MPRemoteCommandHandlerStatusSuccess;
}];
//暂停
MPRemoteCommand *pauseCommand = [MPRemoteCommandCenter sharedCommandCenter].pauseCommand;
[pauseCommand addTargetWithHandler:^MPRemoteCommandHandlerStatus(MPRemoteCommandEvent *event) {
return MPRemoteCommandHandlerStatusSuccess;
}];
}
关于后台播放导致代理控制器被强应用的问题解决
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 01 天蝎座的人总是嘴硬心软,他们嘴上总是故作坚强,背地里却会为感情黯然神伤。他们一旦爱上一个人,就会全身心投入,...