Windows 7 のコア オーディオ API の新機能
コア オーディオ API は Windows Vista で導入されました。この API によって、クライアント アプリケーションがオーディオ機能を強化してオーディオ ストリームをレンダリングまたはキャプチャするために使用できる、新しいユーザー モード オーディオ コンポーネントのセットが提供されました。 この API セットの全般的な概要については、「Windows コア オーディオ API について」を参照してください。
コア オーディオ API は、Windows 7 で改良されました。 次の表は、コア オーディオ API の新機能と機能強化をまとめたものです。
特徴量 | 説明 |
---|---|
一般的な機能強化 | Windows 7 では、次の機能が改善されました。
|
通信デバイス (新機能) | このリリースでは、[サウンド コントロール パネル] に新しい種類のデバイス、通信デバイスが追加されました。 このデバイスは、主に通信、つまり、コンピューター上で通話を発信または受信するために使用されます。 通信アプリケーションでは、コア オーディオ コンポーネントを使用して、既定の通信デバイスのエンドポイントへの参照を取得し、通信目的でオーディオ ストリームをレンダリングすることができます。 オペレーティング システムは、通信デバイスで開かれたストリームを通信ストリームと見なします。 通信ストリームに対する WASAPI の操作は、他のオーディオ ストリームと同様です。 詳細については、「バイス ロールの使用」を参照してください。 |
ストリームの減衰、またはオーディオ ダッキング (新機能) | 自動ダッキング、またはストリームの減衰は、VoIP およびユニファイド コミュニケーション アプリケーションを対象とした Windows 7 の新機能です。 既定では、コンピューターを介して通信デバイスで電話などの通信ストリームを受信すると、オペレーティング システムがオーディオ ストリームの強度を下げます。 音量オプションは、サウンド コントロール パネル] でユーザーが設定します。 アプリケーションが既定のダッキング動作を置き換えることができる新しい API が Windows SDK に追加されました。 カスタム ダッキング機能の実装の詳細については、「カスタム ダッキング動作の提供」を参照してください。 |
ストリーム ルーティング (新機能) | Windows 7 では、既存のデバイスから新しい既定のオーディオ エンドポイントにオーディオ ストリームをシームレスに転送するように、コア オーディオ API が改善されました。 Media Foundation、DirectSound、WAVE の API など、コア オーディオ API を使用する高レベルのオーディオ API セットが、ストリーム ルーティング機能を実装します。 これらの API セットを使用してストリームを再生またはキャプチャするメディア アプリケーションでは、既定の実装が使用されるため、アプリケーションに変更を加える必要はありません。 ただし、メディア アプリケーションでコア オーディオ API を直接使用する場合は、アプリケーションはストリーム ルーティングの実装を提供する必要があります。 これを行うには、既定のデバイスが接続または削除されたときに WASAPI クライアントに通知する、追加された新しいイベントをアプリケーションで処理する必要があります。 この機能の詳細については、「ストリーム ルーティング」を参照してください。 |
保護されたユーザー モード オーディオ (PUMA) (機能強化) | PUMA は Windows 7 用に更新され、次の機能が提供されました。
|
WAVEFORMATEXTENSIBLE 構造体を WAVEFORMATEXTENSIBLE_IEC61937 構造体に拡張 (新機能) | Windows 7 では、IEC 61937 伝送をサポートする新しい構造体が追加されました。 WAVEFORMATEXTENSIBLE_IEC61937 が WAVEFORMATEXTENSIBLE 構造体を拡張し、2 セットのオーディオ ストリーム特性 (送信前のエンコードされたオーディオ形式と、デコードされた後のオーディオ ストリームの特性) を格納します。 新しい構造体は、非 PCM 形式の有効なチャネル数、サンプル サイズ、およびデータ レートを明示的に指定します。 この情報を使用するとアプリケーションでは、圧縮解除して再生した後に、PCM 以外のストリームの品質レベルを推測できます。 詳細については、「IEC 61937 伝送の形式の表現」を参照してください。 |
IAudioClient::Initialize (機能強化) | IAudioClient::Initialize メソッドが、オーディオ ストリームを開くときに発生する可能性がある特定のエラーを示すように改善されました。 新しいエラー コードは次のとおりです。
|
IAudioCaptureClient::GetBuffer と IAudioRenderClient::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 の新機能です。
- IAudioClock2
- IAudioClockAdjustment
- IAudioEndpointVolumeEx
- IAudioSessionManager2
- IAudioSessionControl2
- IAudioSessionEnumerator
- IAudioSessionNotification
- IAudioVolumeDuckNotification
- IKsJackDescription2
- IKsJackSinkInformation
関連トピック