AV Foundation 的剖析 1.0

栏目: IOS · 发布时间: 7年前

内容简介:AV Foundation 的剖析 1.0

1.文本阅读功能

用到 AVSpeechSynthesizer

  • [x] 发音类型
  • [x] 发音速率
  • [x] 音调
  • [x] 阅读间隙

2.播放和录制音频文件

播放

音频会话在 didFinishLaunchingWithOptions 中配置

设置后台播放: Plist 文件中添加 Required background modes 类型的数组,添加 App plays audio or streams audio/video using AirPlay 即可

用到 AVAudioPlayer

prepareToPlay :

创建 AVAudioPlayer 实例的时候建议调用其 prepareToPlay ,

得到的好处是:可以取得音频硬件并预加载 Audio Queue 的缓冲区

当调用play方法的时候会隐性激活,但是在创建时准备播放器可以降低调用play方法和听到声音输出之间的延时。

这里要区别 该类的一些方法:

play pause stop
立即播放 停止播放 停止播放

区别:

由上面可以看出 pause 与 stop 都会对播放暂停进行操作,通过pause 和stop方法暂停的 通过 play 都会继续播放。其主要区别在于底层上的一些处理,用stop 方法会撤销调用 prepareToPlay时所做的设置。
  • [x] 音量
  • [x] pan 值 立体声播放控制 -1.0 ~ 1.0.默认居中。
  • [x] 播放率 0.5半速 ~ 2.0 (2倍速)
  • [x] 循环 设置 numberOfLoops 大于0的值是循环的次数。-1是无限循环
  • [x] 音频计量
  1. 构建于 Core Audio 中的 C -based Audio Queue Services 的最顶层。

  2. 如果需要在 网络流中播放音频 、访问 原始音频样本 或者需要 非常低的延时 。这些操作的时候是不能够胜任的。

  3. 播放包含内存版本的 Data 或者 URL
    ps: 该 **`URL`** 必须在沙盒之内或者改 **`URL`** 必须是用户系统库中的一个元素

ps: 一般处理音频的时候主要处理的是 意外事件 操作。

  1. 中断操作(各种中断操作)

    监听 NSNotification.Name.AVAudioSessionInterruption

    判断中断的类型进行相应的事件处理操作

  2. 播放线路改变 (切换耳机,音响等等)
    监听 NSNotification.Name.AVAudioSessionRouteChange

    判断切换的类型进行相应的事件处理操作,比如 耳机拔掉 等等

对音频的处理要遵循 HIGHuman Interface Guidelines ) 相关定义

录制音频

用到 AVAudioRecorder

需要提供的数据:

  • 存储文件的路径path URL
  • 配置录音键值信息
  • 异常捕捉

如同上面音频播放一样:

同样建议调用其: prepareToPlay 方法。

该方法执行底层 Audio Queue 初始化的必要过程,在指定的 URL 参数指定的位置创建一个文件,将录制启动时的延时降到最低

  • [x] 音频格式 在 AVFormatIDKey 中获取对于的音频格式.

    大约 37 种类型

    保真度越高的格式其文件就越大。合适的格式一方面保证质量也能更好的优化其存储空间 如: kAudioFormatMPEG4AACkAudioFormatAppleIMA4
    PS: URL 后缀格式一定要与 所选择的格式对应上。

  • [x] 采样率 AVSampleRateKey 上一个专题中对其进行了详细说明。

    设置合适的采样率是质量的保证

    推荐: 8_000、16_000、22_050、44_100

  • [x] 通道数 AVNumberOfChannelsKey

    默认值是1

    1:单声道录制 (一般推荐)

    2:立体声录制

PS:不能使用 AVAudioSessionCategorySoloAmbient 该分类是只读的,不支持音频输入

根据其功能的划分使用:我们如果需要录音又要对外播放的时候。那就考虑 AVAudioSessionCategorySoloAmbient 这个分类

同样操作麦克风需要 权限的申请

Audio Metering

AVAudioPlayer

AVAudioRecorder

这两个类实用的功能是能够对音频进行测量。 Audio Metering 可以让开发者读取音频的平均分贝和峰值分贝数据,并使用这些数据以可视化方式将声音的大小呈现给最终的用户。

3. AVAsset : AV Foundation 最重要的类

是 AV Foundation 的核心

...


以上所述就是小编给大家介绍的《AV Foundation 的剖析 1.0》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

逆流而上

逆流而上

阿里巴巴集团成长集编委会 / 电子工业出版社 / 2017-11 / 59.00

本书是阿里巴巴集团荣耀背后的技术血泪史。全书通过分享业务运行过程中各个领域发生的典型“踩坑”案例,帮助大家快速提升自我及团队协作,学习到宝贵的处理经验及实践方案,为互联网生产系统的稳定共同努力。从基础架构、中间件、数据库、云计算、大数据等技术领域中不断积累经验,颠覆技术瓶颈,不断创新以适应不断增长的需求。 本书主要面向互联网技术从业人员和在校师生,使读者能够通过此书基本了解阿里在各技术领域的能力,......一起来看看 《逆流而上》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具