次の方法で共有


サンプル周波数に対するハードウェアの制約

一部のオーディオ デバイスでは、アダプター フィルターのシンク ピンのサンプル周波数が、デジタル出力ポートの周波数またはマイクからの入力ストリームと一致している必要があります。 たとえば、Sound Blaster 16 互換ハードウェアには通常、入力ストリームと出力ストリームを同じクロック レートで実行するように制約する単一の crystal があります。 さまざまなオンボード オーディオ ストリームで複数のクロック レートをサポートできるアダプターでは、異なるクロック レートの数を少数に制限する必要が生じることがあります。

このような理由から、アダプター ドライバーは、1 つのオンボード ストリームのサンプル周波数を別のオンボード ストリームと一致するように制限する必要が生じることがあります。 たとえば、Sound Blaster 16 互換アダプターでは、アダプターのシンク ピンのサンプル周波数が、出力 DAC でラッチがクロックされる速度と一致する必要がある場合があります。

前述のように、KMixer は Windows Server 2003、Windows XP、Windows 2000、Windows Me/98 のシステム ミキサーです。 KMixer のソース ピンがアダプターのシンク ピンに接続されている場合、KMixer はアダプターの SetFormat メソッド (例: IMiniportWavePciStream::SetFormat を参照) を呼び出して、接続のサンプル周波数を調整し、入力でのオーディオ ストリームの最も高いサンプル周波数に一致させる必要が生じることがあります。 他のオンボード ストリームのクロック レートによって制限されているために、アダプターが周波数を変更できない場合、SetFormat 呼び出しに失敗する可能性があります。 この場合、KMixer は、呼び出しが成功するまで、サンプル周波数が連続して低い SetFormat 呼び出しを行うことによって応答します。 KMixer は、サンプル周波数が低下したと判断すると、それに応じてより高い周波数の入力ストリームをサンプリング ダウンします。