按下按钮播放声音

时间:2015-04-02 20:03:51

标签: c# winforms audio

只要按下按钮,我就想播放声音播放器。

这是我到目前为止所做的:

public partial class Form1 : Form
{
    private SoundPlayer soundPlayer;

    private void FormMain_KeyPress(object sender, KeyPressEventArgs e)        
    {
        if(e.KeyChar == 'n')
        { 
            SoundPlayer s = new SoundPlayer(@"C:\Users\darude_rig\Desktop\dayz sounboard\media\sounds\AKM.wav");
            s.PlayLooping();
        }
    }
}

问题出在哪里?我该如何解决?

1 个答案:

答案 0 :(得分:0)

您可以尝试在KeyDown事件中初始化和/或循环SoundPlayer实例,然后在KeyUp事件中停止它。

public partial class Form1 : Form
{
    private SoundPlayer soundPlayer;

    private void FormMain_KeyDown(object sender, KeyEventArgs e)        
    {
        if(e.KeyCode == Keys.N)
        { 
            if (soundPlayer == null)
                soundPlayer = new SoundPlayer(@"C:\Users\darude_rig\Desktop\dayz sounboard\media\sounds\AKM.wav");

            soundPlayer.PlayLooping();
        } 
    }

    private void FormMain_KeyUp(object sender, KeyEventArgs e)        
    { 
        if(e.KeyCode == Keys.N)
        { 
            if (soundPlayer != null)
                soundPlayer.Stop();
        }
    }
}

请记住在某处订阅表格KeyUp和KeyDown事件。