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

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];
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • iOS屏幕旋转与锁屏的示例代码

    在做视频开发时遇到屏幕旋转问题,其中涉及到 StatusBar. UINavigationController.UITabBarController .UIViewcontroller . 在设备锁屏下的整体效果图 iOS-旋转.gif 主要涉及以下4点: 横竖屏的旋转 屏幕旋转相应改变视图位置 旋转时状态栏的隐藏与显示 锁屏 1.横竖屏旋转 第1步: -(UIInterfaceOrientationMask)application:(UIApplication *)application su

  • iOS音乐后台播放及锁屏信息显示

    本文实例为大家分享了iOS实现音乐的后台播放,以及播放时,可以控制其暂停,下一首等操作,以及锁屏图片歌曲名等的显示 此实例需要真机调试,效果图如下: 工程下载:github工程下载 实现步骤: 1.首先修改info.plist 2.其次引入两个需要的框架 #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> 3.设置播放器及后台播放 - (void)viewDidLoad { [super

  • iOS监听手机锁屏状态

    iPhone的锁屏监测分为两种方式监听: 1. 程序在前台,这种比较简单.直接使用Darwin层的通知就可以了: #import <notify.h> #define NotificationLock CFSTR("com.apple.springboard.lockcomplete") #define NotificationChange CFSTR("com.apple.springboard.lockstate") #define Notifica

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

    废话不多说了,直接给大家贴代码了,具体代码如下所示: <pre name="code" class="objc">appDelegate里面加入如下代码获取后台播放权限</pre><pre name="code" class="objc">- (void)setAudioBackstagePlay{ AVAudioSession *audioSession = [AVAudioSession

  • iOS实现锁屏页面控制音乐播放

    本文实例为大家分享了iOS锁屏页面控制音乐播放的具体代码,供大家参考,具体内容如下 //1.调整音频会话设置,确保应用进入后台或静音开关已开启时音频仍将继续播放 //2.锁屏状态下显示媒体信息 //3.锁屏上的空间可以控制音频播放 #import "ViewController.h" #import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h> @interface ViewC

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

    iOS 后台音频播放控制,锁屏音频播放控制及音频信息设置,效果图如下: 1.在 AppDelegate.m 中实现下面方法,获取音频播放.暂停.上一首.下一首点击事件: - (BOOL)canBecomeFirstResponder { return YES; } //锁屏界面控制监听 - (void)remoteControlReceivedWithEvent:(UIEvent *)event { if (event.type == UIEventTypeRemoteControl) { sw

  • Android实现原生锁屏页面音乐控制

    Android5.0 提出了全新的MediaSession概念用于播放器与控制器之间进行交互,它取代之前的RemoteControlClient,并提供了更为灵活的客户端受控端模型. 但是MediaSession框架只能在安卓5系统上使用,如何兼容低版本呢? Google在support-v4(21以上版本)中也提供了MediaSessionCompact兼容包.通过它可以告诉Android系统与其他的应用,自己正在播放的内容是什么以及自己支持哪些类型的播放控制. 在播放音乐时,通过MediaS

  • 微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例

    本文介绍了微信小程序的开发,主要包括图片.录音.音频播放.音乐播放.视频.文件,具体如下: 图片: wx.chooseImage(OBJECT) 从本地相册选择图片或使用相机拍照. OBJECT参数说明: 注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到. 示例代码: wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'],

  • 利用Python批量提取Win10锁屏壁纸实战教程

    前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美. 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换掉了. 借助Python,我们可以用简单的几行代码,批量提取这些精美的锁屏图片.把喜欢的图片设置成桌面背景,就不用担心被替换掉啦. 下面话不多说了,来一起看看详细的介绍吧. 提取原理 Win10系统会自动下载最新的锁屏壁纸,并将他们保存在一个系统文件夹中,路径是C:\Users\[用户名]\AppD

  • iOS中的音频服务和音频AVAudioPlayer音频播放器使用指南

    AudioServicesPlaySystemSound音频服务 对于简单的.无混音音频,AVAudio ToolBox框架提供了一个简单的C语言风格的音频服务.你可以使用AudioservicesPlaySystemSound函数来播放简单的声音.要遵守以下几个规则: 1.音频长度小于30秒 2.格式只能是PCM或者IMA4 3.文件必须被存储为.caf..aif.或者.wav格式 4.简单音频不能从内存播放,而只能是磁盘文件 除了对简单音频的限制外,你对于音频播放的方式也基本无法控制.一旦音

  • IOS中微信小程序播放缓存的音频文件的方法

    很多时候我们都想把数据预先缓存到本地,节省带宽.但是最近在处理微信小程序播放缓存到本地的音频文件的时候,遇到一些小问题,然后对于安卓和IOS需要采用不同的播放策略. 首先,如果哪怕用audio标签来播放在线的音频文件,假如服务端没有实现断点续传,IOS是无法播放的,这个需要注意. 对于缓存在小程序的音频(wx.saveFile(OBJECT)保存的音频),IOS只能通过播放背景音乐的接口播放,其它播放方法都没有成功实践,而对于安卓,内部 audio 上下文 innerAudioContext 对

  • 小程序ios音频播放没声音问题的解决

    小程序提供了录音和播放音频的能力,从基础库 1.6.0 开始支持了wx.getRecorderManager(),录音都采用wx.getRecorderManager()提供的api,播放音频文件采用wx.createInnerAudioContext()提供的api 导入录音和播放音频功能 const recorderManager = wx.getRecorderManager(); // 录音功能 const innerAudioContext = wx.createInnerAudioC

随机推荐