我制作了一个小应用程序,当您按键时播放.wav文件,主要是尝试在键盘上播放音乐,但是当我释放按键时扬声器会产生一些噪音,我相信当我按下它时。 .wav文件只是一个正弦波,所以我不认为它是问题的根源,是什么导致声音和任何变通方法的线索?当您插入耳机或类似物时,噪音类似于您产生的瞬间静电。
答案 0 :(得分:1)
为了解决这个问题,你必须捕获两个KeyboardStates。
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并重新开始逻辑。