原文 [[https://developer.apple.com/library/mac/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioFrameworks/CoreAudioFrameworks.html|Core Audio Overview: Core Audio Frameworks]] ====== Core Audio フレームワーク ====== Core Audio は、いくつかの別々のフレームワークから成り、これらは /System/Library/Frameworks に見ることができます。 これらフレームワークはアンブレラフレームワーク下にはグループされていません。そのため、特定のヘッダを見つけることは、時に骨の折れることかもしれません。 この付録では、個々の Core Audio フレームワークと、関連するヘッダファイルについて解説します。 ===== AudioToolbox.framework ===== Audio Toolbox フレームワークは、主にアプリケーションレベルのサービスを提供する API を含みます: * AudioToolbox.h: Audio Toolbox フレームワークの最上位ヘッダファイル。 * AudioConverter.h: Audio Converter API。オーディオコンバータを作成し使用するために用いるインターフェースを定義します。 * AudioFile.h: Audio File API。オーディオファイルのデータを読み書きするために用いるインターフェースを定義します。 * ExtendedAudioFile.h: 拡張 Audio File API。ファイルからのオーディオデータを、直接リニア PCM へ変換と、その逆変換を行うために用いるインターフェースを定義します。 * AudioFormat.h: Audio Format API。オーディオファイルのオーディオフォーマットのメタデータの割り当て、読み込みを行う際に用いるインターフェースを定義します。 * CoreAudioClock.h: Core Audio Clock のインターフェース。アプリケーションやデバイスの同期を取るためのタイミング源を作成することができます。 * MusicPlayer.h: Music Player API。音楽シーケンスのイベントトラックの管理、再生に用いるインターフェースを定義します。 * AUGraph.h: オーディオ処理グラフ API。オーディオ処理グラフの作成と使用のために用いるインターフェースを定義します。 * DefaultAudioOutput.h: 非推奨: 使用禁止です。デフォルト出力ユニットにアクセスするための、以前の古いインターフェースです(Mac OS X v10.3 以降では非推奨です)。 * AudioUnitUtilities.h: Audio Unit とやり取りするための幾つかの有益な関数群です。Audio Unit パラメータ変換関数と、リスナオブジェクト(指定した Audio Unit パラメータが変更されるとコールバックを呼びます)を生成するための Audio Unit イベント関数を含みます。 * AUMIDIController.h: 非推奨: 使用禁止です。Audio Unit が指定した MIDI ソースからデータを受け取るためのインターフェースです。標準 MIDI メッセージは Audio Unit パラメータの値へと変換されます。このインターフェースは Music Player API の関数に取って代わられています。 * CAFFile.h: Core Audio ファイル形式を定義しています。CAFF は他のオーディオファイル形式よりも多くの利点を提供します。更なる情報は //[[http://developer.apple.com/documentation/MusicAudio/Reference/CAFSpec/index.html|Apple Core Audio Format Specification 1.0]]// をご覧下さい。 * AudioFileComponents.h: Audio File Component Manager コンポーネントのインターフェースを定義します。独自ファイル形式の読み書きの実装に、Audio File Component を使うことができます。   ===== AudioUnit.framework ===== Audio Unit フレームワークは、特に Audio Unit と Audio Codec に使用される API 群を含みます。 * AudioUnit.h: Audio Unit フレームワークの最上位ヘッダファイルです。 * AUComponent.h: Audio Unit コンポーネントの基本的なインターフェースを定義しています。 * AudioCodec.h: 特に Audio Codec コンポーネントの作成に使用されるインターフェースを定義しています。 * AudioOutputUnit.h: 出力ユニットの ON/OFF を切り替えるのに使用されるインターフェースを定義しています。 * AudioUnitParameters.h: Apple の Audio Unit が使用する、予め定義されているパラメータ定数です。サードパーティの Audio Unit にもこれら定数を使用することができます。 * AudioUnitProperties.h: Apple の Audio Unit 以外でも使える、一般的な Audio Unit タイプの Audio Unit プロパティが 予め定義されています。 * AudioUnitCarbonView.h: Carbon ベースの Audio Unit ユーザーインターフェースの読み込み、やり取りを行うためのインターフェースを定義しています。Carbon インターフェースは Component Manager のコンポーネントとしてまとめられ、HIView として表示されます。 * AUCocoaUIView.h: Audio Unit に Cocoa ベースのユーザーインターフェースを持たせる時に使う、カスタム Cocoa View 用のプロトコルを定義しています。併せて CoreAudioKit.framework/AUGenericView.h もご覧下さい。 * AUNTComponent.h: 非推奨: 使用禁止です。昔の "v1" Audio Unit のインターフェースを定義しています。Mac OS X v10.3 以降では非推奨です。AUComponent.h により置き換えられています。 * MusicDevice.h: 音源ユニット(これはソフトウェア音源になります)を作成するためのインターフェースです。 ===== CoreAudioKit.framework ===== Core Audio Kit フレームワークは Audio Unit の Cocoa ユーザーインターフェースを作るために使う API を含みます。 * CoreAudioKit.h: Core Audio Kit フレームワークの最上位ヘッダファイルです。 * AUGenericView.h: Audio Unit が使用する標準 Cocoa View を定義しています。これは、Audio Unit が独自のインターフェースを持たない場合に表示される、ユーザーインターフェースの骨組みになります。 ===== CoreAudio.framework ===== Core Audio フレームワークはハードウェアとやり取りする為に使う低水準 API や、全ての Core Audio サービスに共通のデータ型を含みます。 このフレームワークは、ハードウェア抽象化層(HAL)サービスを構成する、全ての API も含みます。 * CoreAudio.h: Core Audio フレームワークの最上位ヘッダファイルです。 * CoreAudioTypes.h: Core Audio で使用される全てのデータ型を定義しています。 * HostTime.h: ホストのタイムベースの取得、変換を行う関数が定義されています。 * AudioDriverPlugin.h: Audio Driver プラグインと通信するために使うインターフェースを定義しています。 * AudioHardware.h: Audio Device オブジェクトとやり取りするためのインターフェースを定義しています。Audio Device オブジェクトとは、ハードウェア抽象化層で表現される外部デバイスの事です。 * AudioHardwarePlugin.h: HAL プラグインで要求される CFPlugin インターフェースを定義しています。プラグインのインスタンスは HAL の中では Audio Device オブジェクトとして表現されます。 ===== CoreMIDI.framework ===== Core MIDI フレームワークは、アプリケーションの MIDI 対応を実現する為に使う、全ての Core MIDI サービス API を含みます。 * CoreMIDI.h: Core MIDI フレームワークの最上位ヘッダファイルです。 * MIDIServices.h: (MIDI エンドポイントや通知などを通して)MIDI デバイスと通信する際のアプリケーションの設定を行うインターフェースを定義しています。 * MIDISetup.h: MIDI システム全体の状態(利用可能な MIDI デバイスや MIDI エンドポイントなど)の、構成や設定を行うために使うインターフェースを定義しています。 * MIDIThruConnection.h: MIDI データの送信元と送信先の間に、スルー再生接続を作成するための関数を定義しています。MIDI THRU 接続は MIDI デバイスのディジーチェーン接続を可能にし、あるデバイスへの入力を別のデバイスへパススルーします。 ===== CoreMIDIServer.framework ===== Core MIDI Server フレームワークは MIDI ドライバ用のインターフェースを含みます。 * CoreMIDIServer.h: Core MIDI Server フレームワークの最上位ヘッダファイルです。 * MIDIDriver.h: MIDI ドライバが Core MIDI Server とやり取りするのに使う CFPlugin のインターフェースを定義しています。 ===== OpenAL.framework ===== OpenAL フレームワークは OpenAL 規格の Mac OS X における実装を提供します。 OpenAL の API に関する詳しい情報は [[http://openal.org|openal.org]] をご覧下さい。 * al.h * alc.h * alctypes.h * altypes.h * alut.h