AV Foundation 的剖析 1.0

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

内容简介: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》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Pattern Recognition and Machine Learning

Pattern Recognition and Machine Learning

Christopher Bishop / Springer / 2007-10-1 / USD 94.95

The dramatic growth in practical applications for machine learning over the last ten years has been accompanied by many important developments in the underlying algorithms and techniques. For example,......一起来看看 《Pattern Recognition and Machine Learning》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换