0%

Audio Queue Services Programming Guide

介绍

本文档介绍了如何使用音频队列服务(Audio Queue Services),这是Core Audio的Audio Toolbox框架中的一个C语言编程接口。

什么是音频队列服务

在iOS和Mac OS X中,音频队列服务提供了一种直接、低开销的的方式来录制和播放音频。这也是向iOS和Mac OS X程序中添加录制和播放功能所推荐使用的技术。

音频队列服务允许你录制和播放以下格式的音频:

  • Linear PCM(线性PCM)。
  • 任何你正在进行开发的苹果平台所原生支持的压缩格式。
  • 任何用户已经安装相应编码器的其他格式。

音频队列服务是高级的。它让程序使用录音和播放设备(比如麦克风和扬声器)而不需要了解硬件接口的知识。也可以让你使用复杂的编码器而不用了解编码器的工作机制。

同时,音频队列服务也支持一些高级功能。提供了高精度的时间控制来支持播放进度和同步。你可以使用它来同步多个音频队列以及让视频和音频同步。

注意:音频队列服务提供了一些类似于之前在Mac OS X中Sound Manager提供的功能,它附加了例如同步的功能,Sound Manager在Mac OS X10.5中已经废弃了,并且不能和64位程序一起工作,苹果建议新的Mac OS X程序使用音频队列服务并将旧的程序用音频队列服务来替换Sound Manager。

音频队列服务是纯C接口的,你可以把它使用在Cocoa和Mac OS X命令行工具中,为了使你更加专注于音频队列服务,本文档中的示例代码通过使用Core Audio SDK中的C++类进行了简化,然而,无论是这个SDK还是C++语言都不是使用音频队列服务所必需的。

欢迎关注我的其它发布渠道