iOS 关于音乐锁屏控制音乐(锁屏信息设置)

appDelegate里面加入如下代码获取后台播放权限
- (void)setAudioBackstagePlay{
    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil];
    [audioSession setActive:YES error:nil];
}

//重写父类方法,接受外部事件的处理
- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {
    NSLog(@"remote");
    if (receivedEvent.type == UIEventTypeRemoteControl) {
        
        switch (receivedEvent.subtype) { // 得到事件类型
                
            case UIEventSubtypeRemoteControlTogglePlayPause: // 暂停 ios6
                [_player musicPause]; // 调用你所在项目的暂停按钮的响应方法 下面的也是如此
                break;
                
            case UIEventSubtypeRemoteControlPreviousTrack:  // 上一首
                [self lastMusic];
                break;
                
            case UIEventSubtypeRemoteControlNextTrack: // 下一首
                [self nextMusic];
                break;
                
            case UIEventSubtypeRemoteControlPlay: //播放
                [_player musicPlay];
                break;
                
            case UIEventSubtypeRemoteControlPause: // 暂停 ios7
                [_player musicPause];
                break;
                
            default:
                break;
        }
    }
}
- (void)configNowPlayingCenter {
    NSLog(@"锁屏设置");
//     BASE_INFO_FUN(@"配置NowPlayingCenter");
    YBVideoListModel * list = _model.audioList[_currentIndexPath.row];
	//以下代码是加载锁屏显示网络图片以及其他设置
    [[SDWebImageManager sharedManager] downloadImageWithURL:[NSURL URLWithString:list.thumbUrl] options:SDWebImageRetryFailed progress:nil completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL) {
        if (image == nil) {
            image = [UIImage imageNamed:@"default_music"];
        }
        NSMutableDictionary * info = [NSMutableDictionary dictionary];
        //音乐的标题
        [info setObject:list.title forKey:MPMediaItemPropertyTitle];
        //音乐的艺术家
        NSString *author= list.singer;
        [info setObject:author forKey:MPMediaItemPropertyArtist];
        //音乐的播放时间
        [info setObject:@(_player.player.currentTime.value) forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];
        //音乐的播放速度
        [info setObject:@(1) forKey:MPNowPlayingInfoPropertyPlaybackRate];
        //音乐的总时间
        [info setObject:@(list.duration) forKey:MPMediaItemPropertyPlaybackDuration];
        //音乐的封面
        MPMediaItemArtwork * artwork = [[MPMediaItemArtwork alloc] initWithImage:image];
        [info setObject:artwork forKey:MPMediaItemPropertyArtwork];
        //完成设置
        [[MPNowPlayingInfoCenter defaultCenter]setNowPlayingInfo:info];
    }];
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值