我正在玩一些C#,我正在编写一个钢琴应用程序。遍历列表C#
每当用户点击钢琴音符时,我将声音(.wav)的位置存储到列表中......以下是button1_MouseDown方法中的一些代码。
if (e.Button == MouseButtons.Left)
{
SoundPlayer sp = new SoundPlayer();
string musName = Convert.ToString(mk.pitch);
string loc = @"D:\OneDrive\Year 2 Semester 1\OOP\Notes-Sound files\Notes-Sound files\mapped\" + musName + ".wav";
sp.SoundLocation = loc;
sp.Play();
music.Add(loc);
}
现在,我想遍历循环播放所有点击的键一次。我这样做如下(当用户点击播放按钮)
int k = 0;
for (k = 1; k < music.Count; k++)
{
SoundPlayer sp = new SoundPlayer();
sp.SoundLocation = music[k];
sp.Play();
}
的事情是,每当单击播放按钮按下唯一的最后一个音符是played.However,当我调试,不知何故,所有音符被播放。有任何想法吗?
嗨,我认为你必须等待每一个音符演奏下一个 –
我还假设哟不需额外需要每一个迭代中intialize一个新玩家以前玩过,但外循环。 – HimBromBeere