IOS开发入门:官方文档 Auido Session Programming Guide 翻译
2017-05-17 19:41
519 查看
简介
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。
相关文章推荐
- [iOS]Advanced Memory Management Programming Guide 高级内存管理编程指南(官方文档翻译)
- [Apple官方文档翻译]: NSURLSession Programming Guide
- Audio Session Programming Guide(官方文档翻译一)
- Audio Session Programming Guide(官方文档翻译一)
- Audio Session Programming Guide(官方文档翻译一)
- AVFoundation Programming Guide(官方文档翻译1)About AVFoundation - AVFoundation概述
- AVFoundation Programming Guide(官方文档翻译2)Using Assets - 使用Assets
- AVFoundation Programming Guide(官方文档翻译6)Export - 输出
- Spark 2.2.1 官方文档翻译 RDD编程指南(RDD Programming Guide)
- Jetty9.4官方文档部分翻译【入门+嵌入式开发】
- AVFoundation Programming Guide(官方文档翻译5)Still and Video Media Capture - 静态视频媒体捕获。
- IOS开发之Block 编程(翻译官方文档)
- Mac OS, iOS多线程开发指南,apple官方文档翻译稿
- AVFoundation Programming Guide(官方文档翻译3)Playback - 播放
- [iOS文档翻译]AVFoundation Programming Guide - About AVFoundation - AVFoundation概述
- WatchKit-Programming-Guide-Apple-Watch开发指南官方翻译及总结
- apple官方文档翻译:URL Loading System Programming Guide
- React Native开发环境配置(MAC + iOS)官方文档翻译总结
- AVFoundation Programming Guide(官方文档翻译7)Time and Media Representations 时间和媒体表示
- AVFoundation Programming Guide(官方文档翻译4)Editing - 编辑