繁体   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