我制作了一个小应用程序,当您按下键时会播放.wav文件,本质上是试图在键盘上播放音乐,但是当我松开琴键时,扬声器也会发出一些噪音,而且我相信当我按下琴键时也会发出声音。 .wav文件只是一个正弦波,因此我认为这不是问题的根源,没有任何有关导致声音的线索以及任何解决方法?噪音类似于插入耳机或类似装置时产生的瞬时静电。
最佳答案
为了解决此问题,您必须捕获两个KeyboardState。
KeyboardState oldState;
KeyboardState currentState;
public void Load()
{
oldstate = Keyboard.GetState();
}
public void Update(GameTime gameTime)
{
currentState = Keyboard.GetState();
//Example below
if (oldState.IsKeyUp(Keys.Space)
&& currentState.IsKeyDown(Keys.Space))
{
//Play Sound
}
oldState = currentState;
}
这将确保所按下的键的旧状态为打开,而新键的状态为按下。这将阻止声音反复播放。然后,在更新循环结束时,它将把currentState设置为oldState并重新开始逻辑。