音频后台播放设置

1、先在项目 的Capabilities中进行设置,开启后台模式

2、激活音频会话

其它地方也可以,只要保证能执行到以下代码块的内容即可,这里我选择在AppDelegate.m里设置

先导入必要的头文件

#import <AVFoundation/AVFoundation.h>

接下来直接示例代码

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {// 1.获取音频会话AVAudioSession *session = [AVAudioSession sharedInstance];// 2.设置后台播放类别[session setCategory:AVAudioSessionCategoryPlayback error:nil];// 3.激活会话[session setActive:YES error:nil];return YES;
}

锁屏界面的显示与控制

在对应的控制器下添加以下代码,我以PlayingViewController.m为例

PlayingViewController.m

先导入头文件

#import <MediaPlayer/MediaPlayer.h>

锁屏界面信息的显示:

/*// MPMediaItemPropertyAlbumTitle           专辑标题// MPMediaItemPropertyAlbumTrackCount      声道个数// MPMediaItemPropertyAlbumTrackNumber     左右声道// MPMediaItemPropertyArtist               艺术家(歌曲作者)// MPMediaItemPropertyArtwork              锁屏界面的封面// MPMediaItemPropertyComposer// MPMediaItemPropertyDiscCount// MPMediaItemPropertyDiscNumber// MPMediaItemPropertyGenre// MPMediaItemPropertyPersistentID// MPMediaItemPropertyPlaybackDuration     播放时长// MPMediaItemPropertyTitle*/
#pragma mark - 设置锁屏界面的信息
/** 这个方法在开始播放音乐的时候手动调用 */
-(void)setupLockScreenInfo
{// 0.获取当前正在播放的歌曲LXFMusic *playingMusic = [LXFMusicTool playingMusic];// 1.获取锁屏界面中心MPNowPlayingInfoCenter *playingInfoCenter = [MPNowPlayingInfoCenter defaultCenter];// 2.设置展示的信息NSMutableDictionary *playingInfo = [NSMutableDictionary dictionary];// 设置歌曲标题[playingInfo setObject:playingMusic.name forKey:MPMediaItemPropertyAlbumTitle];// 设置歌手[playingInfo setObject:playingMusic.singer forKey:MPMediaItemPropertyArtist];// 设置封面MPMediaItemArtwork *artWork = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:playingMusic.icon]];[playingInfo setObject:artWork forKey:MPMediaItemPropertyArtwork];// 设置歌曲播放的总时长[playingInfo setObject:@(self.currentPlayer.duration) forKey:MPMediaItemPropertyPlaybackDuration];playingInfoCenter.nowPlayingInfo = playingInfo;// 3.让应用程序可以接受远程事件[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
}

现在可以在锁屏下正常显示歌曲信息了,但是控制不了音乐,还差监听远程控制事件

/** 监听远程事件 */
-(void)remoteControlReceivedWithEvent:(UIEvent *)event
{switch (event.subtype) {case UIEventSubtypeRemoteControlPlay: // 播放case UIEventSubtypeRemoteControlStop: // 暂停[self playOrPause]; // 控制播放与暂停break;            case UIEventSubtypeRemoteControlNextTrack: // 下一首[self next]; // 控制播放下一首break;            case UIEventSubtypeRemoteControlPreviousTrack: // 上一首[self previous]; // 控制播放上一首break;            default:break;}
}

以上监听事件只提供逻辑思路,具体的控制歌曲的方法内容太多就不写了。

iOS - 音频后台播放设置及锁屏界面的显示与控制相关推荐

  1. android 锁屏显示音乐播放器,Android锁屏界面控制音乐播放

    目前,在锁屏界面控制音乐播放有两种常用方式. 第一种方式:原生Android系统及自带音乐播放器. 锁屏界面端: 原生Android中,锁屏界面相关的UI由KeyguardHostView提供,Key ...

  2. android 系统 锁屏界面,在安卓手机系统使用Ubuntu漂亮的锁屏界面攻略

    如果你了解Ubuntu系统,那么绝对会被它那漂亮的锁屏界面所吸引.今天我们就让广大Android用户能够提前感受一下Ubuntu系统的锁屏界面,并且不会有任何功能上的影响,所有的通知与信息都可以正常显 ...

  3. 怎么显示全部背景图片_Windows 聚焦图片在锁屏界面和登陆界面没有显示

    一. Windows 聚焦图片在锁屏界面和登陆界面没有显示 首先请确定设置中聚焦功能是否已经打开.打开设置-个性化-锁屏界面,确定一下背景下拉框选项是否已经设置为Windows聚焦.同时设置" ...

  4. 计算机屏保后无法进入登录界面,Win10锁屏界面无法登录卡在登录状态的应对办法...

    使用win10系统过程中,在锁屏界面输入密码后一直卡在登录状态,约 20~30 秒系统又自动锁屏并重复这个过程,Win10锁屏界面无法登录卡在登录状态怎么办?现小编介绍Win10锁屏界面无法登录卡在登 ...

  5. win10 锁屏界面自动更换壁纸的办法,亲测有效

    亲测有效 1.在设置 -个性化 -锁屏界面,将 背景 由 "Windows 聚焦" 改为 "图片" 2.打开C:\Users\你自己的用户名\AppData\L ...

  6. Windows锁屏界面图片不更新

    Windows11锁屏图片不变,一直都是蓝色一张图. 解决方法: 1.设置->个性化->锁屏界面->个性化锁屏界面.切换为 图片. 2.打开文件资源管理器,导航栏中点击查看-> ...

  7. iOS音乐后台播放、锁屏封面及播放控制

    在默认情况下App被切换到后台时,音乐的就停止播放了,但音乐类App的一般都会需要在后台继续播放,这样用户就可以一边听音乐,一边操作其他的App.对于这种情况我们可以对App做一些简单的配置,实现后台 ...

  8. iOS锁屏界面音频播放控制

    公司的app里面有后台音频播放功能,最近发现,当在锁屏界面(后台)时,不能控制播放页面的音频播放,是因为没有实现远程控制事件处理. 下面说说大概实现过程:由于后台播放功能早已实现(不做详细叙述),这里 ...

  9. android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...

    原标题:安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行 安卓手机锁屏后,很多程序就会自动关闭,实际上,这是安卓手机的一种保护机制.为了使系统能够流畅稳定的运行以及更加省电,它都会在手机 ...

最新文章

  1. QT5.11 + VS2017 环境搭建
  2. [渝粤教育] 中国地质大学 数据结构 复习题 (2)
  3. 小学学校计算机设备使用记录表,小学计算机上机记录文本表.doc
  4. Mybatis动态sql的使用
  5. 用户激励体系搭建指南
  6. 初级开发人员的缺点_如何避免我作为初级开发人员犯的这7个错误
  7. 支付中心接口调用逻辑解析
  8. Matlab经纬度坐标转换xy坐标,经纬度坐标系转换为UTM坐标系(matlab)
  9. PHP7.2安装vld扩展
  10. openwrt安装aria2
  11. RS232串口线接法与线芯引脚定义
  12. 单(两)个正态总体的统计量的分布相关定理
  13. 如何编辑运行HTML网页文件(HTML编辑工具使用介绍)
  14. 欢迎 V 的到来:简书新浪微博联合认证公告
  15. 关于SAP采购信息记录的价格失效后,采购订单不要带出失效价格具体实现
  16. 【微信小程序】车位在线销售平台(三)
  17. Anaconda or Miniconda windows下 cmd命令行模式创建、激活、关闭、删除虚拟环境方法步骤
  18. 新的浏览器的诞生,你会选择哪个?
  19. pta然后是几点c语言
  20. 前端隐藏页面内容的方法

热门文章

  1. 实现jquery双击图片放大
  2. 科研小助手PubMed的插件PubMedy
  3. 漫话NFT——NFT的应用场景
  4. Python爬取招聘网站
  5. Z490 AORUS PRO AX+i9-10850K黑苹果EFI引导文件
  6. web接入大华摄像头实时视频
  7. 一个有界面的pdf合成工具(python)超级简单实用可做成exe
  8. ThinkPHP在线小说阅读管理系统
  9. Java EasyPoi简单报表+复合表头报表的导出
  10. 岁月的剪影【四月尘土飞扬】