簡體   English   中英

C#播放聲音列表

[英]C# Play a list of sounds

我有一個簡單的鋼琴鍵盤,每按一次鍵就會彈一個音符。 我想將每個音符存儲在列表中,然后在按下“播放”按鈕時依次播放所有音符。 我已經創建了列表,並將每個注釋添加到列表中。 但是我在遍歷列表和播放每種聲音時遇到問題。

    MusicNote mn = new MusicNote(count, duration, bNoteShape, xLoc, mk.musicNote);
    notes.Add(mn);
    mn.Location = new Point(xLoc, yLoc);
    this.panel1.Controls.Add(mn.drawNote());


    private void Play_Click(object sender, EventArgs e)
    {
        foreach(MusicNote mn in notes)
        {
            textBox2.Text += mn.ToString();
            sp.SoundLocation = @"C:/Users/Daryl/Desktop/mapped/" + mn.musicNote + ".wav"; //change this to the location of your "mapped" folder
            sp.Play();
        }
    }

不幸的是,一旦按下按鈕,只有最后一個音符正在播放。

原因可能是您不等待每個聲音結束而聲音被“覆蓋”。 這樣,您只會聽到最后一個。 在繼續迭代之前,您需要確保播放完聲音。

假設代碼中的spSoundPlayer類的實例。 您可以使用sp.PlaySync()來確保程序在移至下一個聲音之前暫停。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM