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