我正在尝试创建我自己的小音板来播放 WAV 文件。现在播放不是问题,但我想要一种在需要时停止播放的方法。我想到了一个停止按钮,但不知道如何让它起作用。所以我想到了使用循环,但它似乎不起作用。只是想知道是否有人可以帮助我在哪里出错,或者这是否只是一种失败的方法,那么如果你能告诉我一个更好的方法,那就太好了。 :)
private void button1Sound(object sender, MouseEventArgs e)
{
int i = 0;
SoundPlayer simpleSound = new SoundPlayer(@"file.wav");
while (i == 0)
{
simpleSound.Play();
i++;
}
if (i >= 1)
{
simpleSound.Stop();
}
}
我也想过只做一个 ELSE IF,但那也行不通。我试过:
private void button1Sound(object sender, MouseEventArgs e)
{
int i = 0;
SoundPlayer simpleSound = new SoundPlayer(@"file.wav");
if (i == 0)
{
simpleSound.Play();
i++;
}
else if (i > 1)
{
simpleSound.Stop();
}
}
最佳答案
因为您在 void 中添加了 int i = 0
,每次调用事件时,i
将始终为 0。所以最好在 void 之外包含 i
。
int i = 0;
SoundPlayer simpleSound = new SoundPlayer(@"file.wav"); //Thanks to @Wanabrutbeer
private void button1Sound(object sender, MouseEventArgs e)
{
if (i == 0)
{
simpleSound.Play();
i++;
}
else if (i >= 1)
{
simpleSound.Stop();
i--;
}
}
注意:类SoundPlayer
只播放.wav 文件。如果您想播放其他媒体文件,例如 .mp3、.mpeg 等...,请改用 MediaPlayer
。
谢谢,
希望对您有所帮助:)
关于c# - 停止 SoundPlayer 播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887589/