Windows コア オーディオ API について

このドキュメントでは、Microsoft Windows オペレーティング システム ファミリのコア オーディオ API に関する情報を示します。

コア オーディオ API は Windows Vista で導入されました。 この新しいユーザー モード オーディオ コンポーネントセットは、強化されたオーディオ機能をクライアント アプリケーションに提供します。 次のような機能があります。

  • 低遅延、障害に強いオーディオ ストリーミング。
  • 高い信頼性 (多くのオーディオ関数がカーネル モードからユーザー モードに移行しました)。
  • 高いセキュリティ (保護されたオーディオ コンテンツの処理は、セキュリティで保護された特権の低いプロセスで行われます)。
  • 個々のオーディオ デバイスに対するシステム全体の特定のロール (コンソール、マルチメディア、通信) の割り当て。
  • ユーザーが直接操作するオーディオ エンドポイント デバイス (スピーカー、ヘッドフォン、マイクなど) のソフトウェア抽象化。

コア オーディオ API は、Windows 7 で改良されました。 追加された機能強化と新機能について詳しくは、「Windows 7 のコア オーディオ API の新機能」をご覧ください。

このドキュメントでは、コア オーディオ API について説明します。 これらの API は、次の上位レベルの API の基盤として機能します。

  • DirectSound
  • DirectMusic
  • Windows マルチメディア waveXxx 関数と mixerXxx 関数
  • メディア ファンデーション

これらの上位レベルの API は、コア オーディオ API を使用してオーディオ デバイスへのアクセスを共有します。 Media Foundation は Windows Vista の新機能ですが、DirectSound、DirectMusic、waveXxx および mixerXxx 関数は、Windows 98、Windows Millennium Edition、Windows 2000 以降でサポートされています。

ほとんどのオーディオ アプリケーションは、コア オーディオ API と直接通信するのではなく、上位レベルの API と通信します。 上位レベルの API を使用するアプリケーションの例を次に示します。

  • メディア プレーヤー
  • DVD プレーヤー
  • ゲーム
  • サウンド ファイルを再生するビジネス アプリケーション (Microsoft Office PowerPoint など)

通常、これらのアプリケーションは DirectSound または Media Foundation API と通信します。

コア オーディオ API との直接通信は、多くの汎用オーディオ アプリケーションには適していない可能性があります。 たとえば、コア オーディオ API には、オーディオ デバイスのネイティブ データ形式を使用するためにオーディオ ストリームが必要です。 ただし、次の種類の製品を開発しているサードパーティのソフトウェア開発者には、コア オーディオ API の特別な機能が必要な可能性があります。

  • プロフェッショナル オーディオ ("プロ オーディオ") アプリケーション
  • リアルタイム通信 (RTC) アプリケーション
  • サードパーティ オーディオ API

"プロ オーディオ" または RTC アプリケーションでは、オーディオ ハードウェアへの排他的アクセスを取得することで最小限の待ち時間を実現するため、コア オーディオ API の低レベル機能への直接アクセスが必要になることがあります。 サード パーティ オーディオ API では、Windows で提供される単一の高レベル オーディオ API では完全にはサポートされない可能性がある一連の機能を実装するため、コア オーディオ API への直接アクセスが必要になることがあります。

レガシ オーディオ API を使用してオーディオを再生または録音するアプリケーションでは、レガシ オーディオ API ではサポートされていないが、コア オーディオ API でサポートされている追加の機能が必要になることがあります。 多くの場合、アプリケーションは、レガシ オーディオ API と組み合わせて使用できるコア オーディオ API を通じてこれらの機能に直接アクセスできます。

コア オーディオ API は、次のとおりです。

  • マルチメディア デバイス (MMDevice) API。 クライアントは、システム内のオーディオ エンドポイント デバイスを列挙する場合にこの API を使用します。
  • Windows オーディオ セッション API (WASAPI)。 クライアントは、オーディオ エンドポイント デバイスとの間で音声ストリームを作成および管理する場合にこの API を使用します。
  • DeviceTopology API。 クライアントは、オーディオ アダプターのハードウェア デバイス内のデータ パスに沿ったトポロジ機能 (ボリューム コントロールやマルチプレクサーなど) に直接アクセスする場合にこの API を使用します。
  • EndpointVolume API。 クライアントは、オーディオ エンドポイント デバイス上のボリューム コントロールに直接アクセスする場合にこの API を使用します。 この API は主に、排他モードのオーディオ ストリームを管理するアプリケーションで使用されます。

これらの API は、「オーディオ エンドポイント デバイス」で説明されているエンドポイント デバイスのわかりやすい概念をサポートしています。

Microsoft では、Microsoft Windows Server 2003、Windows XP、Windows Millennium Edition、Windows 2000、Windows 98 など、以前のバージョンの Windows で使用するために、ここで説明されているコア オーディオ API を使用可能にする予定はありません。

この概要では、以下のトピックについて説明します。

トピック 説明
Windows 7 のコア オーディオ API の新機能 コア オーディオ API の新機能と機能強化の概要
ヘッダー ファイルとシステム コンポーネント コア オーディオ API のヘッダー ファイルとシステム コンポーネントについて説明します。
コア オーディオ API を使用する SDK サンプル コア オーディオ API を使用する Windows SDK のサンプルを示します。

 

コア オーディオ API