コア オーディオ インターフェイス

Core Audio SDK のこのプログラミング リファレンスには、次のインターフェイスが含まれています。

MMDevice API

Windows マルチメディア デバイス (MMDevice) API を使用すると、オーディオ クライアントは、オーディオ エンドポイント デバイスを検出し、その機能を決定し、それらのデバイスのドライバー インスタンスを作成できます。ヘッダー ファイル Mmdeviceapi.h は、MMDevice API のインターフェイスを定義します。 詳細については、「MMDevice APIについて」を参照してください。

次の表に、Windows Vista 用 Core Audio SDK で使用できる MMDevice インターフェイスの一覧を示します。

インターフェイス 形容
IMMDeviceの オーディオ デバイスを表します。
IMMDeviceCollection オーディオ デバイスのコレクションを表します。
IMMDeviceEnumeratorの オーディオ デバイスを列挙するためのメソッドを提供します。
IMMEndpointの オーディオ エンドポイント デバイスを表します。
IMMNotificationClientの オーディオ エンドポイント デバイスが追加または削除されたとき、デバイスの状態またはプロパティが変更されたとき、またはデバイスに割り当てられている既定のロールに変更がある場合に通知を提供します。

WASAPI

Windows オーディオ セッション API (WASAPI) を使用すると、クライアント アプリケーションは、アプリケーションと オーディオ エンドポイント デバイス間のオーディオ データのフローを管理できます。 ヘッダー ファイル Audioclient.h と Audiopolicy.h は、WASAPI インターフェイスを定義します。 詳細については、「WASAPIについて」を参照してください。

次の表に、Windows Vista 以降のコア オーディオ SDK で使用できる WASAPI インターフェイスを示します。

インターフェイス 形容
IActivateAudioInterfaceAsyncOperationの WASAPI インターフェイスをアクティブ化する非同期操作を表し、アクティブ化の結果を取得するメソッドを提供します。
Windows 8 以降で適用されます。
IActivateAudioInterfaceCompletionHandler WASAPI インターフェイスのアクティブ化が完了したことを示すコールバックを提供します。
Windows 8 以降で適用されます。
IAudioCaptureClientの クライアントがキャプチャ エンドポイント バッファーから入力データを読み取できるようにします。
IAudioClientの クライアントがオーディオ アプリケーションとオーディオ エンジンまたはオーディオ エンドポイント デバイスのハードウェア バッファーの間でオーディオ ストリームを作成および初期化できるようにします。
IAudioClockの クライアントがストリームのデータ レートとストリーム内の現在の位置を監視できるようにします。
IAudioClock2の
クライアントが現在のデバイス位置を取得できるようにします。
IAudioClockAdjustmentの
クライアントがストリームのサンプル レートを設定できるようにします。
IAudioRenderClientの クライアントが出力データをレンダリング エンドポイント バッファーに書き込むできるようにします。
IAudioSessionControlの クライアントがオーディオ セッションのコントロール パラメーターを構成し、セッション内のイベントを監視できるようにします。
IAudioSessionControl2の
クライアントがオーディオ セッションに関する情報を取得できるようにします。
IAudioSessionManagerの クライアントがクロスプロセスとプロセス固有のオーディオ セッションの両方のセッション コントロールとボリューム コントロールにアクセスできるようにします。
IAudioSessionManager2の
サブミックスの列挙と通知を含むすべてのサブミックスを管理します。 また、ダッキング通知のサポートも提供します。
IAudioSessionEnumeratorの
クライアントがオーディオ セッションを列挙できるようにします。
IAudioStreamVolumeの クライアントがオーディオ ストリーム内のすべてのチャネルのボリューム レベルを制御および監視できるようにします。
IChannelAudioVolumeの クライアントが、ストリームが属するオーディオ セッション内のすべてのチャネルのボリューム レベルを制御できるようにします。
ISimpleAudioVolumeの クライアントがオーディオ セッションのマスター ボリューム レベルを制御できるようにします。
IAudioSessionEventsの ボリューム レベルの変更、表示名、セッション状態など、セッション関連のイベントの通知を提供します。
IAudioSessionNotificationの
セッションの変更が発生したときに通知を送信します。
IAudioVolumeDuckNotificationをする
保留中のシステム ダッキングの変更に関する通知を送信します。

DeviceTopology API

DeviceTopology API は、クライアント アプリケーションにオーディオ レンダリングの機能ハードウェア トポロジを走査し、デバイスをキャプチャする機能を提供します。 ヘッダー ファイル Devicetopology.h は、DeviceTopology API のインターフェイスを定義します。 詳細については、「デバイス トポロジの と DeviceTopology APIの」を参照してください。

次の表に、Windows Vista 以降のコア オーディオ SDK で使用できる DeviceTopology インターフェイスの一覧を示します。

インターフェイス 形容
IAudioAutoGainControlの ハードウェア自動ゲイン制御 (AGC) へのアクセスを提供します。
IAudioBassの ハードウェア ベース レベルのコントロールへのアクセスを提供します。
IAudioChannelConfigの ハードウェア チャネル構成コントロールへのアクセスを提供します。
IAudioInputSelectorの ハードウェア マルチプレクサー コントロール (入力セレクター) へのアクセスを提供します。
IAudioLoudness "ラウドネス" 補正コントロールへのアクセスを提供します。
IAudioMidrangeの ハードウェアのミッドレンジ レベルのコントロールへのアクセスを提供します。
IAudioMuteをする ハードウェア ミュート コントロールへのアクセスを提供します。
IAudioOutputSelectorの ハードウェアデマルチプレクサー制御 (出力セレクター) へのアクセスを提供します。
IAudioPeakMeterの ハードウェアピークメーター制御へのアクセスを提供します。
IAudioTrebleの ハードウェアトレブル レベルの制御へのアクセスを提供します。
IAudioVolumeLevelの ハードウェア ボリューム コントロールへのアクセスを提供します。
IConnectorの コンポーネント間の接続ポイントを表します。
IControlInterfaceの パーツ (サブユニットまたはコネクタ) のコントロール インターフェイスを表します。
IDeviceSpecificPropertyの コネクタまたはサブユニットのデバイス固有のプロパティを表します。
IDeviceTopologyの オーディオ デバイスのトポロジへのアクセスを提供します。
IKsFormatSupportの オーディオ デバイスとシステム メモリの間のソフトウェアで構成された I/O 接続 (通常は DMA チャネル) でサポートされるオーディオ データ形式に関する情報を提供します。
IKsJackDescription オーディオ アダプター上のデバイスと外部または内部エンドポイント デバイス (マイクや CD プレーヤーなど) との間の物理的な接続を提供するジャックまたは内部コネクタに関する情報を提供します。
IKsJackDescription2
エンドポイント デバイスへのコネクタの KSPROPERTY_JACK_DESCRIPTION2 プロパティに簡単にアクセスできます。
IKsJackSinkInformation
ジャックがハードウェアでサポートされている場合、ジャック シンクに関する情報を提供します。
IPart デバイス トポロジのパーツ (コネクタまたはサブユニット) を表します。
IPartsListをする パーツ (コネクタとサブユニット) の一覧を表します。
IPerChannelDbLevelの オーディオ ストリームまたはオーディオ ストリーム内の周波数帯域のボリューム レベル (デシベル単位) をチャネルごとに制御する汎用サブユニット制御インターフェイスを表します。
ISubunitをする クライアントとオーディオ エンドポイント デバイスの間のデータ パスにあるハードウェア サブユニット (ボリューム レベル コントロールなど) を表します。
IControlChangeNotifyの パーツ (コネクタまたはサブユニット) の状態が変更されたときに通知を提供します。

EndpointVolume API

EndpointVolume API を使用すると、特殊なクライアントは、オーディオ エンドポイント デバイスのボリューム レベルを制御および監視できます。 ヘッダー ファイル Endpointvolume.h は、EndpointVolume API のインターフェイスを定義します。 詳細については、「EndpointVolume API」を参照してください。

次の表に、Windows Vista 用 Core Audio SDK で使用できる EndpointVolume インターフェイスを示します。

インターフェイスの 説明
IAudioEndpointVolumeの オーディオ エンドポイント デバイス間のオーディオ ストリーム上のボリューム コントロールを表します。
IAudioEndpointVolumeExの
デバイス エンドポイント間のオーディオ ストリームのボリューム コントロールを提供します。
IAudioMeterInformationの オーディオ エンドポイント デバイス間のオーディオ ストリームのピーク メーターを表します。
IAudioEndpointVolumeCallbackの オーディオ エンドポイント デバイスのボリューム レベルまたはミュート状態が変更されたときに通知を提供します。

プログラミング リファレンス