C# .Net を使用してリアルタイムでオーディオ合成を行っています。
出力波形が読み取られるたびに出力波形を更新する VCO クラスがあります。サウンドを再生するために、それを DirectSound セカンダリ バッファーにフィードしたいと考えています。リアルタイムで入力されていないバイト配列を使用して、これを試してみました。
ただし、VCO をリアルタイムで再生するには、ダイレクト サウンド オブジェクトに指定されたサンプル レートと同じレートで出力を読み取る必要があると思います。
リアルタイムの vco 出力をダイレクト サウンドのサンプル レートに一致させるために、1/サンプル レートでイベントを発生させるタイマーまたはコールバック タイプの関数を使用する方法はありますか?
ループを作成して StopWatch.Ticks に問い合わせることができると思いますが、その間にプロセッサの負荷がかからずに、イベントを自動的に発生させるより適切な方法はありますか?