コア オーディオ インターフェイス
コア オーディオ 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 | オーディオ エンドポイント デバイスのボリューム レベルまたはミュート状態が変更されたときに通知を提供します。 |