简体   繁体   English

按下按钮即可播放声音

[英]Play sound at button press

I want a sound player to play as long as a button is pressed. 我希望声音播放器只要按一下按钮就可以播放。

Here is what I've done so far : 到目前为止,这是我所做的:

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();
        }
    }
}

Where is the problem and how can I fix it? 问题出在哪里,我该如何解决?

You might try initializing and/or looping the SoundPlayer instance in a KeyDown event, and then stopping it in a KeyUp event. 您可以尝试在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();
        }
    }
}

Remember to subscribe to the form KeyUp and KeyDown events somewhere. 请记住在某个地方订阅表单KeyUp和KeyDown事件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM