アプリケーションで毎秒 60 回以上短いサウンドを再生する必要があります。トリガーパターンは事前にわからないので、同じ音を 60 回繰り返して 1 つの大きなファイルを作成することはできません。サウンドは非同期で再生する必要があります。
C#SoundPlayer
と Win32PlaySound()
はどちらも、サウンドを非同期で再生するように要求するたびに、別のスレッドを開始するように見えます。非常に多くのスレッドを作成するオーバーヘッドが必要ないため、これらのオプションを使用できません。さらに、前のトリガーがまだ再生されている間にサウンドが再度トリガーされた場合、後で再生するためにキューに入れるのではなく、サウンドを再開するか、オーバーラップして再生する必要があります。
これを行うことができる事前に作成された .NET または Win32 ツールはありますか? 現在、手動のスレッドとイベントで構築された低レベルのソリューションが必要だと考えています。