2

別のドライバーの上に座るようにドライバーを作成し、下位のドライバーの出力を取得して後処理することは可能ですか。

音量レベルが常に一定になるようにドライバーを書きたかったのです。私の頭の中では、このドライバーはオーディオ カード ドライバーの上に配置され、OS に戻してスピーカーに送信する前に、出力を後処理します。

MS ミニポートについて読みましたが、これはいくつかの基本的な保証された露出を提供しているようです。

一定の音量レベルの実装は、この質問で私が本当に心配していることではありません. より適切な言葉がないため、「フィルター」ドライバーを作成して、サウンドの後処理を行うことができるかどうか疑問に思っています。

編集: OK、私はこれを最初にグーグルで検索しなかったことで罪を犯しました。実際にはフィルタードライバーと呼ばれており、私をバカのように見せています。ただし、私はこれに完全に慣れていないので、良い方向性やテキストをいただければ幸いです。

4

1 に答える 1

2

Windows Vista 以降では、このようなオーディオ ドライバーを作成するのは非常に困難です。これは、Windows Vista オーディオ デバイスが主に I/O メカニズムを使用し、オーディオ ドライバが DMA バッファをオーディオ サブシステムまたはアプリケーションに直接公開するためです。そのため、オーディオ エンジンはオーディオ アダプターの DMA バッファーに直接書き込み、オーディオ ソリューションに送信されるサンプルをフィルター ドライバーが検査する機会はありません。

Vista 以降では、sAPO がオーディオ サンプルを検査および変更できるようにするドライバー パッケージに付随する処理要素である sAPO を使用して、同じ結果を得ることができます。

于 2010-12-06T20:11:15.567 に答える