DirectSound ハードウェア アクセラレータと SRC スライダー
Windows には、システム全体で DirectSound のパフォーマンスを変更するためのグローバル スライダー コントロールが用意されています。 スライダーは、DirectSound アプリケーションで使用できるハードウェア アクセラレータのレベルおよびサンプル レート変換 (SRC) の品質を制御します。 ハードウェア アクセラレータと SRC スライダーに加えられた変更は、起動後も持続します。
ハードウェア アクセラレータと SRC の設定は、エンド ユーザーの直接操作によってのみ変更できます。 アプリケーション プログラムからハードウェア アクセラレータまたは SRC 設定を変更するために利用できる API はありません。 これにより、安定性が向上し、ソフトウェアがオーディオシステムを再起動しないと解除できない状態にすることを防ぐことができます。
これらの設定は DirectSound アプリケーションにのみ影響します。 waveOut API では、DirectSound SRC スライダーの設定に関係なく、常に最高の SRC 品質が使用される点に留意してください。 また、現在のすべてのバージョンの Windows では、waveOut アプリケーションはオーディオ デバイスでハードウェア アクセラレータが有効になっているピンを使用できず、DirectSound ハードウェア アクセラレータ スライダーの設定の影響を受けません。 Windows マルチメディア waveOut API の詳細については、Microsoft Windows SDK のドキュメントを参照してください。
たとえば、Windows で DirectSound ハードウェア アクセラレータと SRC スライダーを見つけるには、次の手順に従います。
コントロール パネルで、サウンドとオーディオ デバイス アイコンをダブルクリックします (または mmsys.cpl を実行します)。
[オーディオ] タブで、[サウンド再生] リストからデバイスを選択します。
[Advanced] \(詳細設定) ボタンを選択します。
[パフォーマンス] タブを選択します。
この時点で、ハードウェア アクセラレータとサンプル レート変換品質というラベルが付いた 2 つのスライダーが表示されます。
ハードウェア アクセラレータ スライダーには、左側の [なし] (レベル 0) から右側の [最大] (レベル 3) までの 4 つの設定があります。 次の表に、これらの設定の説明を示しています。
アクセラレータ レベル | 設定名 | 説明 |
---|---|---|
0 |
エミュレーション |
エミュレーションを強制します。 |
1 |
Basic |
DirectSound セカンダリ バッファーのハードウェア アクセラレータを無効にします。 |
2 |
標準 |
DirectSound セカンダリ バッファーのハードウェア アクセラレータを有効にしますが、ベンダー固有のプロパティ セット拡張機能を無効にします。 |
3 |
完全 |
DirectSound セカンダリ バッファーのハードウェア アクセラレータを有効にして、ベンダー固有のプロパティ セット拡張機能を有効にします。 |
エミュレーション設定
上記のエミュレーション設定では、DirectSound が強制的にエミュレーション モードになります。 このモードでは、DirectSound アプリケーションは DirectSound ドライバーが存在しないかのように実行されます。 すべてのミキシングは DirectSound によってユーザー モードで行われ、結果のオーディオ データは waveOut API を介して再生されます。 その結果、通常、待機時間が大幅に増加します。
基本設定
[基本] 設定では、DirectSound セカンダリ バッファーのハードウェア アクセラレータが無効になります。 この設定では、使用されているサウンド カードの機能に関係なく、すべての DirectSound アプリケーションは、使用できるハードウェア アクセラレータがないかのように実行されます。 テスト中にこの設定を使用して、DirectSound アクセラレータのないサウンド カードをエミュレートできます。 DirectSound セカンダリ バッファーのアクセラレーションがない OPL などのアダプターでは、この設定は、標準設定と同じ効果を持ちます。 Windows Server 2003では、基本が既定の設定です。
標準設定
標準設定では、DirectSound セカンダリ バッファーのハードウェア アクセラレータが有効になりますが、IKsPropertySet インターフェイスを介してプロパティ セットとして公開される EAX (Creative Technologies の環境オーディオ拡張機能) などのベンダー固有の拡張機能を無効にします (「カスタム オーディオ プロパティ セットの公開」を参照)。 Windows 2000 では、標準設定が既定で選択されています。
最大設定
最大設定を使用すると、DirectSound セカンダリ バッファーの最大限のアクセラレーションが可能になります。 この設定は、IKsPropertySet インターフェイスを介して公開されるベンダー固有の拡張機能のプロパティ セットも有効にします (「カスタム オーディオ プロパティ セットの公開」を参照)。 IKsPropertySet 拡張機能には、EAX などのベンダー固有のハードウェア拡張機能が含まれています。
ユーザーがハードウェア アクセラレータまたは SRC の設定を既定値以外の値に調整した場合、DirectSound では既定値ではなく新しい設定が使用されます。