iOS- 关于AVAudioSession的使用——后台播放音乐
1.前言
1.1AVAudioSession的类别
|
类别 |
输入 |
输出 |
与iPOD混合 |
遵从静音 |
|
AVAudioSessionCategoryAmbient |
No |
Yes |
Yes |
Yes |
|
AVAudioSessionCategorySoloAmbient |
No |
Yes |
No |
Yes |
|
AVAudioSessionCategoryPlayback |
No |
Yes |
No |
No |
|
AVAudioSessionCategoryRecord |
Yes |
No |
No |
No |
|
AVAudioSessionCategoryPlayAndRecord |
Yes |
Yes |
No |
No |
2.后台播放音乐
2.1.设置后台任务
+ (UIBackgroundTaskIdentifier)backgroundPlayerID:(UIBackgroundTaskIdentifier)backTaskId
{
// 1. 设置并激活音频会话类别
AVAudioSession *session = [AVAudioSession sharedInstance];
[session AVAudioSessionCategoryPlayback error:nil];
[session setActive:YES error:nil];
// 2. 允许应用程序接收远程控制
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
// 3. 设置后台任务ID
UIBackgroundTaskIdentifier newTaskId = UIBackgroundTaskInvalid;
newTaskId = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil];
if (newTaskId != UIBackgroundTaskInvalid && backTaskId != UIBackgroundTaskInvalid) {
[[UIApplication sharedApplication] endBackgroundTask:backTaskId];
}
return newTaskId;
}
2.2.设置后台播放
//后台播放音频设置
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil]; //让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
2.3.记录后台播放代号
// 后台播放任务Id
UIBackgroundTaskIdentifier _bgTaskId; // 设置音频会话,允许后台播放
_bgTaskId = [SoundTool backgroundPlayerID:_bgTaskId];
作者: 清澈Saup
出处:http://www.cnblogs.com/qingche/
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文连接。
iOS- 关于AVAudioSession的使用——后台播放音乐的更多相关文章
- iOS设备后台播放音乐方法
iOS设备后台播放音乐方法 1 在设置Capabliites中打开Background Modes,选择Audio And AirPlay 2 在控制viewDidLoad中添加下面代码 AVAudi ...
- iOS后台播放音乐
iOS实现在后台播放音乐 iOS4之后就支持后台播放音频了.只需下面两步就可以实现后台播放音频操作了. 1. 在Info.plist中,添加"Required background mode ...
- IOS后台运行 之 后台播放音乐
iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,Av ...
- iOS 后台播放音乐
在info.plist文件中添加 下面是后台播放音频的完整测试代码: 引入文件<AVFoundation/AVFoundation.h> //后台播放音频设置 AVAudioSession ...
- iOS多媒体总结&进入后台播放音乐
1. 播放mp3需要导入框架,AVFoundation支持音频文件(.caf..aif..wav..wmv和.mp3)的播放. #import <AVFoundation/AVFoundatio ...
- ios 后台播放音乐1条注意事项
除了设置程序的后台模式,还需要几行代码 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory: ...
- iOS AvPlayer AvAudioPlayer音频的后台播放问题
iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像用AvAudioPlayer,Av ...
- iOS 实现后台 播放音乐声音 AVAudioPlayer 以及铃声设置(循环播放震动)
1.步骤一:在Info.plist中,添加"Required background modes"键,value为:App plays audio 或者: 步骤二: - (BOOL) ...
- IOS 微信 6.5.2 自动播放音乐 解决方案
之前仅仅是IPhone7\7p 的问题,现在已经扩展到6 .6s.今天在下也行了最新微信,音乐问题果然来了. 好了 下面直接进入正题 首先 引入 <script src="http:/ ...
随机推荐
- ABAP ODATA 文字列からxstringへの変換およびその逆変換(UTF-8)
DATA(lv_str) = |Teststring|. TRY. * string -> xstring * default UTF-8 DATA(lv_xstr) = cl_abap_cod ...
- ubuntu下pycharm快捷方式创建
终端输入:sudo gedit /usr/share/applications/Pycharm.desktop 粘贴模板: [Desktop Entry] Type=Application Name= ...
- 20155223 2006-2007-2 《Java程序设计》第二周学习总结
20155223 2006-2007-2 <Java程序设计>第二周学习总结 第三章内容总结 3.1 类型 正如我所预料的情况一样:Java脱胎于C语言,就一定会留有和C语言相近或相同的语 ...
- 学号20155311 2016-2017-2 《Java程序设计》第10周学习总结
学号20155311 2016-2017-2 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据 计算机网络 路 ...
- 封印解除:如何在Win10家庭版中启用组策略
@echo off pushd "%~dp0" *.mum >List.txt *.mum >>List.txt for /f %%i in ('findstr ...
- 【转载】CPU阿甘
原文:CPU阿甘 前言 上帝为你关闭了一扇门,就一定会为你打开一扇窗这句话来形容我最合适不过了.我是CPU, 他们都叫我阿甘, 因为我和<阿甘正传>里的阿甘一样, 有点傻里傻气的.上帝 ...
- Nginx入门篇(六)之反向代理和负载均衡
一.Nginx负载均衡集群 介绍 负载均衡(Load Balance)集群提供了一种行之有效的办法,来扩展网络设备和服务器负载.带宽和吞吐量,同时加强了网络数据处理能力,提供了网络的灵活性和可用性. ...
- 安装支持elasticsearch使用sql查询插件
一.ElasticSearch-SQL介绍 ElasticSearch-SQL(后续简称es-sql)是ElasticSearch的一个插件,提供了es 的类sql查询的相关接口.支持绝大多数的sql ...
- Mac OS 上 VIM 8.0 安装体验
VIM 8.0 赶在中秋前发布 The best way to install Vim on Unix is to use the sources. This requires a compiler ...
- 深入解析QML引擎, 第1部分:QML文件加载
译者注:这个解析QML引擎的文章共4篇,分析非常透彻,在国内几乎没有找到类似的分析,为了便于国内的QT/QML爱好者和工作者也能更好的学习和理解QML引擎,故将这个系列的4篇文章翻译过来.翻译并不是完 ...