C# 一次播放多个声音文件的最有效方法?

C# 一次播放多个声音文件的最有效方法?,c#,forms,C#,Forms,我正在制作一架自动弹奏钢琴,每个按钮都是一个.wav文件注释,我想知道在需要时一次弹奏更多这些文件的最有效方法。 目前,当我遇到需要播放两种声音时,我有类似的想法: var p1 = new System.Windows.Media.MediaPlayer(); p1.Open(new System.Uri(sound1.wav)); p1.Play();

我正在制作一架自动弹奏钢琴,每个按钮都是一个.wav文件注释,我想知道在需要时一次弹奏更多这些文件的最有效方法。 目前,当我遇到需要播放两种声音时,我有类似的想法:

                    var p1 = new System.Windows.Media.MediaPlayer();
                    p1.Open(new System.Uri(sound1.wav));
                    p1.Play();
                    Thread.Sleep(100);
                    var p2 = new System.Windows.Media.MediaPlayer();
                    p2.Open(new System.Uri(sound2.wav));
                    p2.Play();
然而,它确实有偶尔的滞后或口吃,所以有没有更好的方法来做到这一点

附言。
我使用了Thread.Sleep,因为我发现它在当前设置中听起来更好,只是有一个小的中断,同时也在寻找一个更好的线程替代方案。Sleep用于在声音之间进行暂停

在声音之间进行定时暂停的更好方法是什么?在声音之间进行定时暂停的更好方法是什么?