当前位置:主页 > 移动开发 > iOS代码 >

iOS中关于音乐锁屏控制音乐(锁屏信息设置)的实例代码

时间:2021-02-24 09:40:09 | 栏目:iOS代码 | 点击:

废话不多说了,直接给大家贴代码了,具体代码如下所示:

 <pre name="code" class="objc">appDelegate里面加入如下代码获取后台播放权限</pre><pre name="code" class="objc">- (void)setAudioBackstagePlay{ 
  AVAudioSession *audioSession = [AVAudioSession sharedInstance]; 
  [audioSession setCategory:AVAudioSessionCategoryPlayback error:nil]; 
  [audioSession setActive:YES error:nil]; 
}</pre> 
<pre></pre> 
<pre name="code" class="objc">//重写父类方法,接受外部事件的处理 
- (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; 
    } 
  } 
}</pre><pre name="code" class="objc"><pre name="code" class="objc">- (void)configNowPlayingCenter { 
  NSLog(@"锁屏设置"); 
//   BASE_INFO_FUN(@"配置NowPlayingCenter"); 
  YBVideoListModel * list = _model.audioList[_currentIndexPath.row];</pre><pre name="code" class="objc"><span style="white-space:pre">  </span>//以下代码是加载锁屏显示网络图片以及其他设置 
  [[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]; 
  }]; 
}</pre><br> 
<br> 
<pre></pre> 
<br> 
</pre> 

您可能感兴趣的文章:

相关文章