iOS中音乐锁屏控制音乐的示例分析
更新:HHH   时间:2023-1-8


这篇文章将为大家详细讲解有关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 >  </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>

关于“iOS中音乐锁屏控制音乐的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

返回移动开发教程...