Playing Multiple Wav Files Using Directsound without Delay


Jan 14, 2012
Hi, I need to play multiple wave files using directsound or any other method. My application is similar to this:, where i need to create beats. The problem is that when I play two or more sounds, there will be some delay between both files. The program provided in that link does not have any delays present when more than 1 file is played but I couldn't understand the coding since it is extremely difficult and im just a beginner. Is there a way to remove the delay completely? I am using the following method:

            var dev = new Device();
            dev.SetCooperativeLevel(this, CooperativeLevel.Priority);
            MemoryStream ms = new MemoryStream(Sample1);
            SecondaryBuffer sound = new SecondaryBuffer(@"C:\1.wav", dev);

            var dev1 = new Device();
            dev1.SetCooperativeLevel(this, CooperativeLevel.Priority);
            MemoryStream ms1 = new MemoryStream(Sample2);
            SecondaryBuffer sound1 = new SecondaryBuffer(@"C:\3.wav", dev1);

            var dev2 = new Device();
            dev2.SetCooperativeLevel(this, CooperativeLevel.Priority);
            SecondaryBuffer sound2 = new SecondaryBuffer(@"C:\VEE Bassdrum 012.wav", dev2);

            sound.Play(0, BufferPlayFlags.Default);
            sound1.Play(0, BufferPlayFlags.Default);
            sound2.Play(0, BufferPlayFlags.Default);

I also converted the wavefiles to streams and played them using memorystream but the delay is the same.

Top Bottom