如何在按下键的情况下播放声音(例如:在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();
}