There will be a latency of the duration of the buffer you are using in your IWavePlayer. Also the MixingSampleProvider does only allow new inputs to be added between calls to Read, so if during the time of one buffer you added four sounds, they would all end up getting added to start at the exact same instant. A quick fix to this would be the OffsetSampleProvider. You can look at the drum machine demo in the WPF sample project, which shows how much more accurate queuing up of sounds to be played can be achieved.
↧