当前位置:主页 > 软件编程 > C代码 >

iOS锁屏音频播放控制及音频信息设置

时间:2020-12-29 16:16:12 | 栏目:C代码 | 点击:

iOS 后台音频播放控制,锁屏音频播放控制及音频信息设置,效果图如下:

 

1.在 AppDelegate.m 中实现下面方法,获取音频播放、暂停、上一首、下一首点击事件:

- (BOOL)canBecomeFirstResponder
{
 return YES;
}
 
//锁屏界面控制监听
- (void)remoteControlReceivedWithEvent:(UIEvent *)event
{
 if (event.type == UIEventTypeRemoteControl) {
  switch (event.subtype) {
   case UIEventSubtypeRemoteControlPlay:
   {
    //播放
    NSLog(@"Play");
    break;
   }
   case UIEventSubtypeRemoteControlPause:
   {
    //暂停
    NSLog(@"Pause");
    break;
   }
   case UIEventSubtypeRemoteControlNextTrack:
   {
    //下一首
    NSLog(@"Next");
    break;
   }
   case UIEventSubtypeRemoteControlPreviousTrack:
   {
    //上一首
    NSLog(@"Previous");
    break;
   }
   default:
    break;
  }
 }
}

2.设置锁屏信息:

//设置锁屏信息
- (void)setLockingInfo
{
 Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
 
 if (playingInfoCenter) {
  //音频模型
  HWMusicModel *model = [HWMusicTool playingMusic];
  
  //数据信息
  NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
  
  //图片
  MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageWithUrlString:model.icon]];
  [songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork];
  
  //当前播放时间
  [songInfo setObject:[NSNumber numberWithDouble:[[[HWMusicTool shareMusicTool] Player] currentPlaybackTime]] forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];
  //速率
  [songInfo setObject:[NSNumber numberWithFloat:1.0f] forKey:MPNowPlayingInfoPropertyPlaybackRate];
  //剩余时长
  [songInfo setObject:[NSNumber numberWithDouble:[[[HWMusicTool shareMusicTool] Player] duration]] forKey:MPMediaItemPropertyPlaybackDuration];
  
  //设置标题
  [songInfo setObject:model.title forKey:MPMediaItemPropertyTitle];
  
  //设置副标题
  [songInfo setObject:@"周杰伦 - 周杰伦的床边故事" forKey:MPMediaItemPropertyArtist];
  
  //设置音频数据信息
  [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
 }
}

您可能感兴趣的文章:

相关文章