IOS开发入门:官方文档 Auido Session Programming Guide 翻译

来源:互联网 发布:杜兰特体测数据 编辑:程序博客网 时间:2024/05/13 07:52

简介

IOS通过audio sessions和AVAudioSession中的API来实现对于不同app之间、同一app内及硬件层面的各种音频行为。


ios音频相关架构

你可以利用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
原创粉丝点击