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.设置后台任务
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
+ (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.设置后台播放
1
2
3
4
5
6
7
|
//后台播放音频设置
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
|
2.3.记录后台播放代号
1
2
3
4
5
|
// 后台播放任务Id
UIBackgroundTaskIdentifier _bgTaskId;
// 设置音频会话,允许后台播放
_bgTaskId = [SoundTool backgroundPlayerID:_bgTaskId];
|
转载于:https://www.cnblogs.com/zfrankice/articles/4394294.html
iOS- 关于AVAudioSession的使用——后台播放音乐相关推荐
- IOS后台运行 之 后台播放音乐
IOS后台运行 之 后台播放音乐 iOS 4开始引入的multitask,我们可以实现像ipod程序那样在后台播放音频了.如果音频操作是用苹果官方的AVFoundation.framework实现,像 ...
- 解决 后台播放音乐时,设置手机铃声,后台音乐不会暂停
2019独角兽企业重金招聘Python工程师标准>>> 手机后台播放音乐时,设置手机铃声,后台音乐不会暂停,此现象的为设置手机铃声界面,并没要加入播放的foucs机制, 此修改在pa ...
- android后台自播放音乐,Android实现后台播放音乐(Service方式)
Android实现后台播放音乐(Service方式) 实现: 在res文件夹下添加raw文件夹,添加mp3/4格式的音乐文件 注意命名规则只能是a-z,0-9,和下划线_ 不能大写字母和- Andro ...
- Android后台播放音乐保活,安卓后台保活黑科技 播放无声音乐
1.准备一段无声的音频,新建一个播放音乐的Service类,将播放模式改为无限循环播放.在其onDestroy方法中对自己重新启动. public class PlayerMusicService e ...
- android mediaplayer 后台播放,Android服务—基于MediaPlayer后台播放音乐
Android服务-基于MediaPlayer后台播放音乐 操作环境:Android Studio 4.0.0.SDK Level 21(版本5.0 Lollipop).Windows 10.集成显卡 ...
- Android 音乐APP(五)音乐通知栏、后台播放音乐
Android 音乐通知栏 前言 正文 ① 通知栏按钮点击监听 ② 通知栏点击监听 ③ 通知栏业务处理 ④ 运行效果图 结语 前言 这篇文章的标题有些言简意赅了,也突出了这篇文章的核心,那就是通知 ...
- 后台播放音乐时进来电话或微信视频通话暂停音乐播放 网易云音乐 喜马拉雅...
最近项目中遇到一个问题,app内音乐后台播放时,如果有电话或者微信视频通话进来,app后台音乐还在播放.这样就造成用户体验不好,研究了市面上的音乐播放器,比如网易云音乐就很好的做到了如果有微信视频或者 ...
- Android使用本地Service实现后台播放音乐
配置文件 <service android:name=".MyService"></service> 布局 <Buttonandroid:id=&qu ...
- 总结三种方法使用Service实现在后台播放音乐、暂停音乐、停止音乐的功能
文章目录 通过startService方式开启 通过bindService开启 使用bindService+AIDL开启 通过startService方式开启 public class MyServi ...
最新文章
- java ios支付接口开发_微信支付接入(Android/IOS(swift)/Java后台)
- C 之父:精通C 很难,但你一天之内就能学习使用C
- css练习题4,复习webpack4之CSS文件代码分割
- 坑哭了!老牌教育机构也崩盘,疑失联跑路,学员却还得继续还贷
- java在初始化过程_Java初始化和实例化顺序
- Linux下安装gcc和g++
- mysql卸载不干净 linux,CentOS下如何完全卸载MySQL?解决卸载不干净的问题
- 百度地图实战Android开发视频教程
- 程序员微信名昵称_微信名字大全
- Spark核心开发者:性能超Hadoop百倍,算法实现仅有其1/10或1/100
- CAD注记层转到SDE Annotation Features(ArcEngine,C++实现)(转载)
- 计算机设备配备情况,计算机设备配置标准.doc
- php后台界面修改教程,帝国cms后台界面修改方法
- byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段
- 仿佛来自虚空,Grothendieck的故事2
- 月薪40k+测试·开发同步认可的FastAPI:Python 世界里最受欢迎的异步框架
- Win10重装系统提示:在efi系统上windows只能安装到gpt磁盘
- 强烈推荐这11个Python开源项目,非常值得入门学习(从入门到Python高级开发)
- 【数据结构与算法】尚硅谷韩顺平老师+含java代码(更新中)
- String-到底创建了几个对象???