[英]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.