声音开始或停止播放时XNA噪音小

时间:2015-06-04 10:21:58

标签: c# audio xna

我制作了一个小应用程序,当您按键时播放.wav文件,主要是尝试在键盘上播放音乐,但是当我释放按键时扬声器会产生一些噪音,我相信当我按下它时。 .wav文件只是一个正弦波,所以我不认为它是问题的根源,是什么导致声音和任何变通方法的线索?当您插入耳机或类似物时,噪音类似于您产生的瞬间静电。

1 个答案:

答案 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并重新开始逻辑。