Jakpot 0 Newbie Poster

Hi, I need to play multiple wave files using directsound or any other method. My application is similar to this: http://msdn.microsoft.com/en-us/library/ms973091.aspx, 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.


Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.