版本记录
| 版本号 | 时间 |
|---|---|
| V1.0 | 2017.12.27 |
前言
ios系统中有很多方式可以播放音频文件,这里我们就详细的说明下播放音乐文件的原理和实例。感兴趣的可以看我写的上面几篇。
1. 几种播放音频文件的方式(一) —— 播放本地音乐
2. 几种播放音频文件的方式(二) —— 音效播放
3. 几种播放音频文件的方式(三) —— 网络音乐播放
4. 几种播放音频文件的方式(四) —— 音频队列服务(Audio Queue Services)(一)
Introduction - 简介
本文档介绍如何使用音频队列服务,这是Core Audio的 Audio Toolbox框架中的一个C编程接口。
What Is Audio Queue Services? - Audio Queue Services是什么?
Audio Queue Services音频队列服务为在iOS和Mac OS X上录制和播放音频提供了一种简单,低成本的方式。建议使用这种技术将基本录制或播放功能添加到iOS或Mac OS X应用程序中。
音频队列服务可让您以任何以下格式录制和播放音频:
- 线性PCM。
- 在您正在开发的Apple平台上原生支持的任何压缩格式。
- 用户安装了编解码器的任何其他格式。
音频队列服务是高层次的。 它使您的应用程序可以在不知道硬件接口的情况下使用硬件录音和播放设备(如麦克风和扬声器)。 它也可以让你使用复杂的编解码器,而无需知道编解码器如何工作。
同时,音频队列服务支持一些高级功能。 它提供细粒度的时序控制,以支持预定的播放和同步。 您可以使用它来同步多个音频队列的播放,并使音频与视频同步。
注意:音频队列服务提供的功能与以前由Mac OS X中的
Sound Manager提供的功能类似。它增加了其他功能,例如同步。Sound Manager在Mac OS X v10.5中已经废弃,它不适用于64位应用程序。 苹果推荐所有新开发的使用音频队列服务,并取代现有Mac OS X应用程序中的Sound Manager。
音频队列服务是一个纯C接口,您可以在Cocoa应用程序以及Mac OS X命令行工具中使用。 为了使焦点集中在音频队列服务上,本文档中的代码示例有时可以通过使用Core Audio SDK中的C ++类来简化。 但是,SDK和C ++语言对于音频队列服务都不是必须的。
Who Should Read This Guide? - 谁应该读这篇指导?
Audio Queue Services Programming Guide适用于想要简化,直接的方式录制或播放音频的所有iOS和Mac OS X开发人员。 为了充分利用这个文档,你应该熟悉:
- C编程语言
- 使用Xcode构建iOS或Mac OS X应用程序
- 核心音频词汇表Core Audio Glossary中描述的术语
Organization of This Document - 文档的组织
本指南包含以下章节:
- About Audio Queues描述音频队列的功能,体系结构和内部工作。
- Recording Audio介绍了如何录制音频。
- Playing Audio介绍了如何播放音频。
See Also - 也可参考
您可能会发现以下文档有用:
- 配套文档Audio Queue Services Reference提供了音频队列服务中的函数,回调函数,常量和数据类型的描述。
- Core Audio Data Types Reference介绍了使用音频队列服务所必需的数据类型。
-
Core Audio Overview提供了
Core Audio框架的摘要,并包括Supported Audio File and Data Formats in OS X的附录。 -
Core Audio Glossary定义
Core Audio文档中使用的关键术语。
后记
未完,待续~~~

