AudioSession和AVAudioSeesion
来源:互联网 发布:gala乐队知乎 编辑:程序博客网 时间:2024/05/16 14:42
一、项目需要两种后台任务:下载和播放音频。所以使用了audio play的model来注册后台播放。
同时需要使用代码初始化AVAudioSession:
AVAudioSession *session = [AVAudioSessionsharedInstance];
[session setActive:YESerror:nil];
[session setCategory:AVAudioSessionCategoryPlaybackerror:nil];
二、在app 的state处于background时,需要相应音量键的方法,于是采用
AudioSessionAddPropertyListener来添加kAudioSessionProperty_CurrentHardwareOutputVolume的callback,达到响应音量改变的事件。
至此还未发现有AVAudioSession和AudioSession两个类。
IOS8开始,AudioSession的一些API就失效了,比如上面使用的AudioSessionAddPropertyListener。
查看文档才看到AudioSessionAddPropertyListener是属于AudioSession的方法。
关于AVAudioSession和AudioSession的却别和用法,参考区别和用法。
三、因为AudioSessionAddPropertyListener已经deprecate,所以在AVAudioSession中寻找办法。
AVAudioSession提供了一系列NotificationName,但是我没有找到关于音量变化的。
看文档发现了一个属性 @property(readonly) float outputVolume ,突然想到可以使用KVO来监听volume的变化,不就间接实现了音量键的回调了吗?
添加监听者--实现协议方法--最终实现音量回调。
- 具体KVO实现就不赘述。
- AudioSession和AVAudioSeesion
- AudioSession
- IOS上AudioSession设置, 切换扬声器和听筒详解 .
- IOS上AudioSession设置, 切换扬声器和听筒详解
- IOS上AudioSession设置, 切换扬声器和听筒详解
- IOS上AudioSession设置, 切换扬声器和听筒详解
- IOS上AudioSession设置, 切换扬声器和听筒详解
- [IOS]IOS上AudioSession设置, 切换扬声器和听筒详解
- IOS上AudioSession设置, 切换扬声器和听筒详解
- IOS上AudioSession设置, 切换扬声器和听筒详解 .
- IOS上AudioSession设置, 切换扬声器和听筒详解
- AudioSession详解
- IOS AudioSession
- iOS AudioSession
- AudioSession详解
- 实现iOS长时间后台的两种方法:Audiosession和VOIP
- 实现iOS长时间后台的两种方法:Audiosession和VOIP
- 实现iOS长时间后台的两种方法:Audiosession和VOIP
- Linux下使用C++连接mysql的方法
- 页面往Struts框架的Action传值注意!
- DataDirectory结构体数组
- 第三章《链队列的验证实验》
- windows数据类型
- AudioSession和AVAudioSeesion
- Unity3d C# 广播消息 事件代理与委托
- string对象的读写
- UVa 201 - Squares
- java回调(钩子)
- Sicily 1152 简单的马周游问题
- OTSU最大类间方差法(求自适应阈值)
- app注册短信验证和邮箱验证的技术实现
- 基于SIP和RTP协议的开源VOIP之QuteCom简介