版本記錄
版本號 | 時間 |
---|---|
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
文檔中使用的關鍵術語。
后記
未完,待續~~~