按下键时播放声音C#

时间:2019-02-26 19:37:58

标签: key onkeyup

如何在按下键的情况下播放声音(例如:在Fl Studio中按下键盘键时发出长笛音符),我有我的代码,但声音仅播放wav长度,并且不会继续播放播放它,我更改了PlayLooping播放功能,但是按我的意愿无法正常工作。 我想包括的一点是,当我按下另一个键盘键时,在要演奏的那一刻并没有发出声音,在演奏之前还有很短的时间。

bool playing = false;
    bool _bKeyIsDown = false;
    protected override void OnKeyDown(KeyEventArgs e)
    {
        if (_bKeyIsDown)
        {

            return;

        }
        _bKeyIsDown = true;
        // play sound;
        base.OnKeyDown(e);
    }
    protected override void OnKeyUp(KeyEventArgs e)
    {
        base.OnKeyUp(e);
        _bKeyIsDown = false;
    }
  private void Form1_KeyDown(object sender, KeyEventArgs e)
    {
        playing = true;
        if (e.KeyData == Keys.A)
        {

            this.sonido.SoundLocation = @"D1.wav";
            sonido.Play();

        }
        else
                if (e.KeyData == Keys.Z)
        {

            this.sonido.SoundLocation = @"E1.wav";
            sonido.Play();

        }

0 个答案:

没有答案