在iOS系统中apple对音频播放需要的操作进行了封装并提供了不同层次的接口

下面对其中的中高层接口进行功能说明:

  • Audio File Services:读写音频数据,可以完成播放流程中的第2步;
  • Audio File Stream Services:对音频进行解码,可以完成播放流程中的第2步;
  • Audio Converter services:音频数据转换,可以完成播放流程中的第3步;
  • Audio Processing Graph Services:音效处理模块,可以完成播放流程中的第4步;
  • Audio Unit Services:播放音频数据:可以完成播放流程中的第5步、第6步;
  • Extended Audio File Services:Audio File Services和Audio Converter services的结合体;
  • AVAudioPlayer/AVPlayer(AVFoundation):高级接口,可以完成整个音频播放的过程(包括本地文件和网络流播放,第4步除外);
  • Audio Queue Services:高级接口,可以进行录音和播放,可以完成播放流程中的第3、5、6步;
  • OpenAL:用于游戏音频播放,

下图描述的就是使用AudioFile + AudioConverter + AudioUnit进行音频播放的流程(需要对音频施加音效(均衡器、混响器)

最新文章

  1. js构造函数的方法与原型prototype
  2. Java输入输出流进阶
  3. VIRTUALBOX 虚拟机安装 OS X 10.9 MAVERICKS
  4. 是时候放弃Uploadify了
  5. WPF ListView展示层叠信息
  6. linux shell 使用总结
  7. Moodle插件之Filters(过滤器)
  8. hdu 2460 poj 3694 (双联通+LCA)
  9. mysql存储过程、函数和触发器的创建 [转]
  10. Log4j MDC Tomcat下报异常org.apache.log4j.helpers.ThreadLocalMap
  11. 解决Qt程序发布时中文乱码问题(通过QApplication.addLibraryPath加载QTextCodec插件)
  12. Windows编写的shell脚本,在linux上无法执行
  13. vue的data的数据进行指定赋值,用于筛选条件的清空,或者管理系统添加成功后给部分数据赋值为空
  14. 使用RTL-SDR打开车门
  15. InstallShield 创建 visual studio 工程的时候 指向 任意 visual studio 版本 方法 (修改 计算机 默认 visual studio shell 版本)
  16. ABBYY PDF Transformer+系统要求
  17. Java Web开发和Python Web开发之间的区别
  18. LeetCode 551. Student Attendance Record I (C++)
  19. 慕课网access_token的获取(下)
  20. 数据导出之winform导出word(三)

热门文章

  1. es6 Proxy对象详解
  2. tp5.1路由报错No input file specified.
  3. php.ini修改后,重启无效
  4. Docker之centos 简单安装
  5. centos配置NTP服务器
  6. 找球号(三)南阳acm528(异或' ^ ')
  7. EL/JSTL-jsp页面更简单的输出方式
  8. 武汉Uber优步司机奖励政策(1月11日~1月17日)
  9. Android ObjectOutputStream Serializable引发的血案
  10. springboot shiro没有注解解决方案