はじめに
この資料では、Core AudioのAudio Toolboxフレームワークに含まれる、C言語のプログラミングインタフェースAudio Queue Serviceの使い方を解説します。
Audio Queue Serviceとは何か?
Audio Queue Serviceは、Mac OS Xで音声の記録と再生を低オーバーヘッドで行うための、分かりやすい手法を提供します。 Mac OS X v10.5より、この手法はMac OS Xアプリケーションに音声の基本的な録再機能の追加を実現する、推奨技術となっています。
Audio Queue Serviceは以下の全ての形式について、録音と再生を実現します:
- 線形量子化PCM
- AIFC, Apple Lossless, AACといったMac OS Xがネイティブ対応する圧縮形式。MP3の再生に用いる事も可能です。
- 利用者が用意したコーデックの対応形式
Audio Queue Serviceは高水準サービスです。 Audio Queue Serviceはあなたのアプリケーションに、ハードウェアインタフェースの情報を求めることなく、(マイクやスピーカといった)ハードウェアの録音再生装置の使用を可能にします。 また、コーデックの動作原理について知ることなく、洗練されたコーデックの活用を可能にします。
それと同時に、Audio Queue Serviceはいくつかの先進的な機能を提供します。 それは、予約再生(scheduled playback)と同期をサポートするための、きめ細かなタイミング制御です。 これは複数音声の再生待ち行列の同期や、映像と音声の同期に使用することが出来ます。
Audio Queue Serviceは、CocoaやCarbonアプリケーションだけでなくコマンドラインツールでも使用可能な、純粋なC言語インタフェースです。 Audio Queue Serviceへの好奇心維持を手助けるため、本資料中のコード例は時に、Core Audio SDKのC++クラスを用いて単純化されています。 しかし、SDKもC++言語も、Audio Queue Serviceを使うのに必須ではありません。
誰が本ガイドを読むべきなのでしょうか?
Audio Queue Serviceプログラミングガイドは、現代的で分かりやすい音声の記録、再生方法を必要としている全てのMac OS X開発者の役に立ちます。 本資料を最大限活かすためには、以下の事柄に精通しているとよいでしょう:
- C言語
- Mac OS Xアプリケーションの構築に必要なXcodeの使い方
- Core Audio用語集で解説されている専門用語
本資料の構成
このガイドは以下の章から成ります:
- “Audio Queueについて” では、Mac OS XにおけるAudio Queueの能力、アーキテクチャ、内部の動作原理を解説します。
- “音声の記録” では、音声の記録方法について解説します。
- “音声の再生” では、音声の再生方法について解説します。
関連項目
以下の資料が役立つでしょう:
- 本資料と対をなす Audio Queue Services Reference は、Audio Queue Serviceの関数、コールバック、定数、データ型の解説を行います。
- Core Audio Data Types Reference は、Audio Queue Serviceが使用する、根幹のデータ型の解説を行います。
- Core Audio概要 は、Core Audioフレームワークの要旨を提供し、付録 対応するオーディオファイルとデータ形式 を含みます。
- Core Audio用語集 は、Core Audio関連資料で用いられる重要単語(key terms)を定義しています。