我正在玩一些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