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

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

MMDevice API

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

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

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

WASAPI

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

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

Interface 説明
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 インターフェイスの一覧を示します。

Interface 説明
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 用のコア オーディオ SDK で使用できる EndpointVolume インターフェイスの一覧を示します。

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

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