IOS开发入门:官方文档 Auido Session Programming Guide 翻译
来源:互联网 发布:杜兰特体测数据 编辑:程序博客网 时间:2024/05/13 07:52
简介
IOS通过audio sessions和AVAudioSession中的API来实现对于不同app之间、同一app内及硬件层面的各种音频行为。
你可以利用AVAudioSession中的API来解决类似这样的问题:
- 手机在从铃声切换到静音模式时,你app中的音频是否需要静音?举例来说,旨在帮助用户在会议中做笔记的app应当静音以免打扰他人,而具有发音功能的词典类app则应保证不被静音模式干扰的在需要的时候播放声音。
- 当你的音频开始播放的时候,系统在播放的其他音频是否应该继续?对于让用户跟着伴奏利用app中的功能一起合奏的app背景音乐当然要继续;但如果app的功能是网络电台,那么就应该让其他的声音都停止。
IOS设备中的音频使用场景十分复杂,用户随时可能插拔耳机、接打电话,系统的闹钟也可能响起。通过使用audio session中的API来作出特定的配置,你只需使用很少的代码就可以优雅的对系统请求作出回应。
概览
使用AVAudioSession可以:
- 选择合适的输入/输出源(route)
- 决定如何从其他app中集成音频
- 处理来自其他app的“骚扰”
- 为你创建的类型的app自动配置音频?(automatically configure audio for the type of app you are creating)
一个Audio Session概括了一系列的行为
Audio Session是用来为app配置音频属性的app和IOS之间的媒介。在加载过程中,app会自动创建一个audio session的单例。
用categories描述音频身份(role)
audio session category是用来描述音频行为的主要机制。通过设置category可以表明:app是否使用输入/输出源,在播放音频时是否支持其他背景音乐的播放和其他属性。你刻画的音频行为应当符合用户的期望。
你可以通过七个audio session categories和一些override and modifier switches,结合app的身份来定制音频行为。不同的categories支持回放(playback)、录音和边录音边回放。当系统了解你的音频身份后,会为你提供合适的硬件资源,同时保证设备上的其他音频行为不会干扰你的app。
阅读全文
0 0
- IOS开发入门:官方文档 Auido Session Programming Guide 翻译
- Audio Session Programming Guide(官方文档翻译一)
- Audio Session Programming Guide(官方文档翻译一)
- [Apple官方文档翻译]: NSURLSession Programming Guide
- iOS App Programming Guide 官方文档
- [iOS]Advanced Memory Management Programming Guide 高级内存管理编程指南(官方文档翻译)
- apple官方文档翻译:URL Loading System Programming Guide
- AVFoundation Programming Guide(官方文档翻译3)Playback - 播放
- AVFoundation Programming Guide(官方文档翻译4)Editing - 编辑
- AVFoundation Programming Guide(官方文档翻译6)Export - 输出
- AVFoundation Programming Guide(官方文档翻译)完整版中英对照
- Spark官方文档翻译:Spark Programming Guide(一)
- [iOS文档翻译]AVFoundation Programming Guide - About AVFoundation - AVFoundation概述
- 苹果官方《Sprite Kit Programming Guide》翻译
- 线程编程指南 Threading Programming Guide (1)[苹果官方文档的翻译]
- 线程编程指南 Threading Programming Guide (2)[苹果官方文档的翻译]
- AVFoundation Programming Guide(官方文档翻译1)About AVFoundation - AVFoundation概述
- AVFoundation Programming Guide(官方文档翻译2)Using Assets - 使用Assets
- Spring ORM数据访问——JPA
- 重定向与请求转发
- MySQL控制台基本命令
- 自定义QTableView鼠标滚轮行为
- ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头
- IOS开发入门:官方文档 Auido Session Programming Guide 翻译
- JavaSE编码规范
- ssh私钥登录
- centos7上使用locate命令
- 续oracle sqlload 导入数据文件细节问题说明
- 在windows命令端口下切换到某个目录或者文件夹
- 2017华为软件精英挑战赛总结
- require和include的异同
- java案例-基于IO流的登录注册案例