異なる時間に開始する複数の wave ファイルを再生する必要があります (すべて同時に再生する必要はありません)。Directsound を使用してファイルを再生しようとしましたが、問題が発生しました。次のコードがあります。
var dev = new Device(); //This line creates the problem
dev.SetCooperativeLevel(this, CooperativeLevel.Normal);
MemoryStream ms = new MemoryStream(Sample1);
soundBuffer = new Microsoft.DirectX.DirectSound.Buffer(ms, dev);
SecondaryBuffer sound = new SecondaryBuffer(ms,dev);
sound.Play();
問題は、最初の行 (var dev = new Device();) に入力し、プログラムをコンパイルするとエラーが発生することです (ConsoleApplication1 で問題が発生したため、閉じる必要があります)。これは、最初の行を除くすべてのコードを削除しても発生します。コンソール エラーは次のとおりです。「混合モード アセンブリはランタイムのバージョン v1.1.4322 に対してビルドされており、追加の構成情報がないと 4.0 ランタイムに読み込むことができません」。
この問題が解決できない場合、複数のサウンドを再生する別の方法はありますか? サウンドのレイテンシは最小限に抑え、遅延なく即座に再生する必要があります。