iOS - 音频后台播放设置及锁屏界面的显示与控制
音频后台播放设置
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 - 音频后台播放设置及锁屏界面的显示与控制相关推荐
- android 锁屏显示音乐播放器,Android锁屏界面控制音乐播放
目前,在锁屏界面控制音乐播放有两种常用方式. 第一种方式:原生Android系统及自带音乐播放器. 锁屏界面端: 原生Android中,锁屏界面相关的UI由KeyguardHostView提供,Key ...
- android 系统 锁屏界面,在安卓手机系统使用Ubuntu漂亮的锁屏界面攻略
如果你了解Ubuntu系统,那么绝对会被它那漂亮的锁屏界面所吸引.今天我们就让广大Android用户能够提前感受一下Ubuntu系统的锁屏界面,并且不会有任何功能上的影响,所有的通知与信息都可以正常显 ...
- 怎么显示全部背景图片_Windows 聚焦图片在锁屏界面和登陆界面没有显示
一. Windows 聚焦图片在锁屏界面和登陆界面没有显示 首先请确定设置中聚焦功能是否已经打开.打开设置-个性化-锁屏界面,确定一下背景下拉框选项是否已经设置为Windows聚焦.同时设置" ...
- 计算机屏保后无法进入登录界面,Win10锁屏界面无法登录卡在登录状态的应对办法...
使用win10系统过程中,在锁屏界面输入密码后一直卡在登录状态,约 20~30 秒系统又自动锁屏并重复这个过程,Win10锁屏界面无法登录卡在登录状态怎么办?现小编介绍Win10锁屏界面无法登录卡在登 ...
- win10 锁屏界面自动更换壁纸的办法,亲测有效
亲测有效 1.在设置 -个性化 -锁屏界面,将 背景 由 "Windows 聚焦" 改为 "图片" 2.打开C:\Users\你自己的用户名\AppData\L ...
- Windows锁屏界面图片不更新
Windows11锁屏图片不变,一直都是蓝色一张图. 解决方法: 1.设置->个性化->锁屏界面->个性化锁屏界面.切换为 图片. 2.打开文件资源管理器,导航栏中点击查看-> ...
- iOS音乐后台播放、锁屏封面及播放控制
在默认情况下App被切换到后台时,音乐的就停止播放了,但音乐类App的一般都会需要在后台继续播放,这样用户就可以一边听音乐,一边操作其他的App.对于这种情况我们可以对App做一些简单的配置,实现后台 ...
- iOS锁屏界面音频播放控制
公司的app里面有后台音频播放功能,最近发现,当在锁屏界面(后台)时,不能控制播放页面的音频播放,是因为没有实现远程控制事件处理. 下面说说大概实现过程:由于后台播放功能早已实现(不做详细叙述),这里 ...
- android app应用后台休眠,安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行...
原标题:安卓手机锁屏后程序自动关闭,怎么设置手机app允许锁屏后台运行 安卓手机锁屏后,很多程序就会自动关闭,实际上,这是安卓手机的一种保护机制.为了使系统能够流畅稳定的运行以及更加省电,它都会在手机 ...
最新文章
- QT5.11 + VS2017 环境搭建
- [渝粤教育] 中国地质大学 数据结构 复习题 (2)
- 小学学校计算机设备使用记录表,小学计算机上机记录文本表.doc
- Mybatis动态sql的使用
- 用户激励体系搭建指南
- 初级开发人员的缺点_如何避免我作为初级开发人员犯的这7个错误
- 支付中心接口调用逻辑解析
- Matlab经纬度坐标转换xy坐标,经纬度坐标系转换为UTM坐标系(matlab)
- PHP7.2安装vld扩展
- openwrt安装aria2
- RS232串口线接法与线芯引脚定义
- 单(两)个正态总体的统计量的分布相关定理
- 如何编辑运行HTML网页文件(HTML编辑工具使用介绍)
- 欢迎 V 的到来:简书新浪微博联合认证公告
- 关于SAP采购信息记录的价格失效后,采购订单不要带出失效价格具体实现
- 【微信小程序】车位在线销售平台(三)
- Anaconda or Miniconda windows下 cmd命令行模式创建、激活、关闭、删除虚拟环境方法步骤
- 新的浏览器的诞生,你会选择哪个?
- pta然后是几点c语言
- 前端隐藏页面内容的方法