このトピックでは、Windows 10/11 オーディオ アーキテクチャの概要について説明しました。
Windows 10/11 オーディオ スタック図
この図では、Windows 10/11 オーディオ スタックの主要な要素の概要を示します。
API(アプリケーションプログラミングインターフェース)
最上位レベルの API
最上位レベルの API は、アプリケーション開発に使用されます。 これらの API は現在使用中であり、サポートされています。
- XAML MediaElement クラス (C#、VB、C++)
- HTML Audio オブジェクト と Video オブジェクト<タグ> (Web サイトおよび Windows Web Apps で使用)
- Windows.Media.Capture 名前空間 (C#、VB、C++)
- Microsoft Media Foundation (C++)
これらの古い API は非推奨です。
低レベル API
オーディオ ストリーミングには、これらの下位レベルの API をお勧めします。
列挙には、この下位レベルの API をお勧めします。
これらの API は、Windows アプリケーションには推奨されません。
- MMDevice API について (Windows.Devices.Enumeration に置き換えられました)
- DeviceTopology API
- EndpointVolume API の
オーディオ エンジン
オーディオ エンジンは、オーディオ エンジン (audioeng.dll) を読み込むオーディオ デバイス グラフ (audiodg.exe) という 2 つの関連コンポーネントで構成されています。
オーディオ エンジン:
- オーディオ ストリームをミックスして処理します。 オーディオ エンジンがバッファーを使用してオーディオを転送する方法の詳細については、「 WaveRT ポート ドライバーについて」を参照してください。
- オーディオ信号を処理する H/W 固有のプラグインであるオーディオ処理オブジェクト (API) を読み込みます。 API の詳細については、「 Windows オーディオ処理オブジェクト」を参照してください。
Audio Service (audiosrv.dll)
オーディオ サービス:
- オーディオ ストリームのセットアップと制御に使用されます。
- バックグラウンド オーディオの再生、ダッキングなどの Windows ポリシーを実装します。
オーディオ エンドポイント ビルダー (audioendpointbuilder.exe)
オーディオ エンドポイント ビルダー (audioendpointbuilder.exe):
- 新しいオーディオ デバイスを検出し、ソフトウェア オーディオ エンドポイントを作成するために使用されます。 使用されるアルゴリズムの詳細については、「 オーディオ エンドポイント ビルダー アルゴリズム」を参照してください。
オーディオ ドライバー
オーディオ ドライバー:
- ポート ミニポート モデルに従います。 詳細については、「 WDM オーディオ用語 」および 「WaveRT ミニポート ドライバーの開発」を参照してください。
- オーディオ スタックで、統合されたスピーカーとマイク、ヘッドセット/ヘッドフォン、USB デバイス、Bluetooth デバイス、HDMI など、複数のオーディオ デバイスからオーディオをレンダリングしてキャプチャできるようにします。
- ポート ミニポート モデルは、高度な Linux サウンド アーキテクチャ ALSA に対応します。
- サンプル ドライバー コードの詳細については、「 サンプル オーディオ ドライバー」を参照してください。
ハードウェア
特定のデバイスに存在するオーディオ ハードウェアは異なりますが、次のような場合があります。
- オーディオ コーデック
- DSP (省略可能)
- 内蔵スピーカー、マイクなど
- 外部デバイス: USB オーディオ デバイス、Bluetooth オーディオ デバイス、HDMI オーディオなど。
- また、APO の代わりに、または API に加えて、H/W (コーデックや DSP など) で信号処理を実装することもできます。