Share via


Windows 7 のコア オーディオ API の新機能

コア オーディオ API は Windows Vista で導入されました。この API によって、クライアント アプリケーションがオーディオ機能を強化してオーディオ ストリームをレンダリングまたはキャプチャするために使用できる、新しいユーザー モード オーディオ コンポーネントのセットが提供されました。 この API セットの全般的な概要については、「Windows コア オーディオ API について」を参照してください。

コア オーディオ API は、Windows 7 で改良されました。 次の表は、コア オーディオ API の新機能と機能強化をまとめたものです。

特徴量 説明
一般的な機能強化 Windows 7 では、次の機能が改善されました。
  • Windows 7 共有モードでは、ストリームは低待機時間モードで実行されます。 オーディオ エンジンはプル モードで実行され、待機時間が大幅に短縮されます。 これは、ストリーミングを高速化するためにオーディオ ストリームの待機時間を短くする必要がある通信アプリケーションに非常に便利です。
  • Windows 7 では、新しいデバイスがシステムに追加されたときの、デバイス ロールの検出が向上しています。 詳細については、「バイス ロールの使用」を参照してください。
  • Windows 7 では、コンピューターのスピーカーを介してポータブル メディア プレーヤーから音楽を聴くことができます。 このキャプチャ モニター機能を使用するには、アナログ オーディオ ケーブルを使用してポータブル メディア プレーヤーをコンピューターに接続します。 これまで、一部の OEM は、ハードウェア ループバックを使用してオーディオ ドライバーでこの機能を提供してきました。 Windows 7 では、この機能がオペレーティング システムに追加されました。 ドライバーではなくシステム内にこの機能があるため、USB ヘッドセットなど、システムに接続されている他のデバイスで使用することができます。
  • HDMI オーディオが、高ビット レート形式をサポートする Windows 7 で強化されました。 この改善により、HDMI コネクターからオーディオ レシーバーへのマルチチャンネル オーディオや圧縮オーディオ形式をサポートできるようになりました。
  • Windows Vista では、Windows メディア プレーヤーは、ユーザーが変更できない既定のオーディオ デバイス経由でのみ音楽を再生します。 Windows メディア プレーヤーがオーディオを特定のデバイスにレンダリングするには、[サウンド コントロール パネル] で既定のデバイスを変更する必要があります。 Windows 7 では、既定のデバイスだけでなく、ユーザーが選択した任意のデバイスにアプリケーションをレンダリングできるようにする API が、Windows メディア プレーヤーで提供されます。
  • Windows Vista では、オーディオを再生しているコンピューターがセーブ モードに切り替わるとコンピューターがロックされため、ユーザーは再生を中断する場合は、ログオンして停止キーを押して再生を停止する必要があります。 Windows 7 では、コンピューターがロックされている場合でも、キーボードの HID コントロールを使用して再生を制御できます。
  • Windows 7 では、DirectSound と DirectShow を使用してメディアをレンダリングするすべてのアプリケーションの電力消費量が削減されます。 さらに、マルチメディア クラス スケジューラ サービスを使用すると、障害に対するオーディオの回復性が強化され、オーディオ サンプルの生成中に使用する電力が低減されます。
通信デバイス (新機能) このリリースでは、[サウンド コントロール パネル] に新しい種類のデバイス、通信デバイスが追加されました。 このデバイスは、主に通信、つまり、コンピューター上で通話を発信または受信するために使用されます。 通信アプリケーションでは、コア オーディオ コンポーネントを使用して、既定の通信デバイスのエンドポイントへの参照を取得し、通信目的でオーディオ ストリームをレンダリングすることができます。 オペレーティング システムは、通信デバイスで開かれたストリームを通信ストリームと見なします。 通信ストリームに対する WASAPI の操作は、他のオーディオ ストリームと同様です。 詳細については、「バイス ロールの使用」を参照してください。
ストリームの減衰、またはオーディオ ダッキング (新機能) 自動ダッキング、またはストリームの減衰は、VoIP およびユニファイド コミュニケーション アプリケーションを対象とした Windows 7 の新機能です。 既定では、コンピューターを介して通信デバイスで電話などの通信ストリームを受信すると、オペレーティング システムがオーディオ ストリームの強度を下げます。 音量オプションは、サウンド コントロール パネル] でユーザーが設定します。 アプリケーションが既定のダッキング動作を置き換えることができる新しい API が Windows SDK に追加されました。 カスタム ダッキング機能の実装の詳細については、「カスタム ダッキング動作の提供」を参照してください。
ストリーム ルーティング (新機能) Windows 7 では、既存のデバイスから新しい既定のオーディオ エンドポイントにオーディオ ストリームをシームレスに転送するように、コア オーディオ API が改善されました。 Media Foundation、DirectSound、WAVE の API など、コア オーディオ API を使用する高レベルのオーディオ API セットが、ストリーム ルーティング機能を実装します。 これらの API セットを使用してストリームを再生またはキャプチャするメディア アプリケーションでは、既定の実装が使用されるため、アプリケーションに変更を加える必要はありません。 ただし、メディア アプリケーションでコア オーディオ API を直接使用する場合は、アプリケーションはストリーム ルーティングの実装を提供する必要があります。 これを行うには、既定のデバイスが接続または削除されたときに WASAPI クライアントに通知する、追加された新しいイベントをアプリケーションで処理する必要があります。 この機能の詳細については、「ストリーム ルーティング」を参照してください。
保護されたユーザー モード オーディオ (PUMA) (機能強化) PUMA は Windows 7 用に更新され、次の機能が提供されました。
  • S/PDIF エンドポイントでの SCMS (Serial Copying Management System) ビットと HDMI (High-Definition Multimedia Interface) エンドポイントでの HDCP (High-bandwidth Digital Content Protection) ビットの設定。
  • 保護された環境 (PE) の外部で SCMS および HDMI 保護コントロールを有効にします。
機能強化の詳細については、「保護されたユーザー モード オーディオ (PUMA)」を参照してください。
WAVEFORMATEXTENSIBLE 構造体を WAVEFORMATEXTENSIBLE_IEC61937 構造体に拡張 (新機能) Windows 7 では、IEC 61937 伝送をサポートする新しい構造体が追加されました。 WAVEFORMATEXTENSIBLE_IEC61937WAVEFORMATEXTENSIBLE 構造体を拡張し、2 セットのオーディオ ストリーム特性 (送信前のエンコードされたオーディオ形式と、デコードされた後のオーディオ ストリームの特性) を格納します。 新しい構造体は、非 PCM 形式の有効なチャネル数、サンプル サイズ、およびデータ レートを明示的に指定します。 この情報を使用するとアプリケーションでは、圧縮解除して再生した後に、PCM 以外のストリームの品質レベルを推測できます。 詳細については、「IEC 61937 伝送の形式の表現」を参照してください。
IAudioClient::Initialize (機能強化) IAudioClient::Initialize メソッドが、オーディオ ストリームを開くときに発生する可能性がある特定のエラーを示すように改善されました。 新しいエラー コードは次のとおりです。
  • AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED
  • AUDCLNT_E_BUFFER_SIZE_ERROR
  • AUDCLNT_E_INVALID_DEVICE_PERIOD
これらのエラーの詳細については、「IAudioClient::Initialize」の「戻り値」セクションを参照してください。
IAudioCaptureClient::GetBufferIAudioRenderClient::GetBuffer (機能強化) IAudioCaptureClient::GetBuffer メソッドと IAudioRenderClient::GetBuffer メソッドが改善され、排他モードのエンドポイント バッファーが取得されなかったことを示す AUDCLNT_E_BUFFER_ERROR エラー コードが返されるようになりました。 詳細については、「IAudioCaptureClient::GetBuffer」と「IAudioRenderClient::GetBuffer」の「解説」を参照してください。
ジャック検出機能 (機能強化) Windows 7 の新しいインターフェイスである IKsJackDescription2 が、IKsJackDescription を拡張します。 新しいインターフェイスを使用すると、オーディオ スタックまたはアプリケーションが追加のジャック情報を取得できます。 これには、ジャックの検出機能と、デバイスの形式が動的に変更されたかどうかが含まれます。
Windows のサンプル (新機能) コア オーディオ API の使用方法を示す新しいサンプルが Windows SDK に追加されました。 詳しくは、「コア オーディオ API を使用する SDK サンプル」を参照してください。

 

主要な新しいインターフェイス

次のインターフェイスは、Windows 7 の新機能です。

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