デフォルトでは、すべてのサウンド出力を新しいデバイスにキャプチャします。
$waveIn = new-object NAudio.Wave.WasapiLoopbackCapture
デフォルトでは、クリックを防ぐために100msの遅延で前のデバイスにサウンドを出力します(ヘッドフォンはそのコネクタに接続されています)
$waveOut = new-object NAudio.Wave.DirectSoundOut($defaultDeviceId, 100)
ステレオからモノラルへのコンバーターがありますが、16ビット形式でのみ機能します。 適切な形式のコンバーターもあります。 それらを順番に適用すると、望ましい結果が得られます。
$waveProvider16 = new-object NAudio.Wave.WaveFloatTo16Provider($waveInProvider) $monoProvider16 = new-object NAudio.Wave.StereoToMonoProvider16($waveProvider16)
右チャンネルと左チャンネルの音量を設定します。
$monoProvider16.leftVolume = 1 $monoProvider16.rightVolume = 1
出口にバインドします。
$waveOut.init($monoProvider16)
プロセスを開始します。
$waveOut.play() $waveIn.startRecording()