SecondaryBuffer
同じサウンドを同時に複数回再生できるように、クローンを作成しようとしています。
これは私が使用しているコードです:メインスレッドで:
Device sounddevice = new Device();
sounddevice.SetCooperativeLevel(this, CooperativeLevel.Normal);
BufferDescription description = new BufferDescription();
description.ControlEffects = false;
SecondaryBuffer buffer = new SecondaryBuffer(file, description, sounddevice);
別のスレッドで実行されている関数の場合:
SecondaryBuffer buffer2 = buffer.Clone(sounddevice);
buffer2.Play(0, BufferPlayFlags.Default);
これは私が関数で得た例外ですClone
:
タイプ'System.AccessViolationException'の未処理の例外がMicrosoft.DirectX.DirectSound.dllで発生しました
追加情報:保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。
誰かがその解決策を手に入れましたか?