2

私は Windows の WASAPI システムに初めて飛び込みますが、Windows API で自分が望むことが可能かどうかさえわかりません。

さまざまなプログラムからのサウンドを録音し、それぞれを個別の録音トラック/オーディオ ファイルに分割するプログラムを作成しようとしています。私が行った調査から、記録する必要がある単位は、エンドポイントにレンダリングされるさまざまなオーディオ セッションであることがわかっています。通常の記録方法は、レンダリング エンドポイントを取得してループバックを実行することです。ただし、MSDN でこれまでに読んだことから、できるセッションとのやり取りはIAudioSessionControlを介したものだけであり、セッションのストリームのコピーを取得する方法はありません。

WASAPI (または他の Windows API) を使用してこれを実行し、エンドポイントを形成するために混合される前に個々のセッション (または個々のストリーム) を取得できる何かが欠けているのでしょうか、それとも不可能な目標ですか?

4

1 に答える 1

4

ミキシングは API (WASAPI) 内で行われ、他のオーディオ クライアントのバッファにはアクセスできません。そもそもそれらが現在のプロセスのコンテキストには存在しないこと。おそらく、問題のタスクがこのような汚いトリックを許可する場合、API 呼び出しをフックし、WASAPI への途中でデータをインターセプトすることが最善の (あまり良い方法ではありませんが、より良い代替手段はありません) 方法です。

于 2013-02-08T19:07:47.417 に答える