Воспроизведение звука при нажатой клавише C # - PullRequest
0 голосов
/ 26 февраля 2019

Как получить звук, воспроизводимый при нажатии клавиши (например: нота пан-флейты в Fl Studio при нажатой клавише на клавиатуре), у меня есть код, но звук воспроизводит только длину wav и не продолжаетсяиграя, я изменил Play с 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();

        }
...