2

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で発生しました

追加情報:保護されたメモリの読み取りまたは書き込みを試みました。これは多くの場合、他のメモリが破損していることを示しています。

誰かがその解決策を手に入れましたか?

4

0 に答える 0