我在这里和其他地方看到过一些关于多功能按钮的帖子,但我在实施他们的建议时遇到了麻烦。
我正在编写一个生成并保存 .wav 文件的合成器。我有一个按钮,可以通过将 SoundPlayer 保存到“bin”来“不保存”播放声音,稍后我将其删除。我意识到这不是播放声音的理想方式!
单击时,我的按钮标签从“播放”变为“停止”。不幸的是,我无法让按钮起到“停止”的作用。
我试过创建一个“计数器”,
public static int NumOfClicks = 0;
并在每次单击按钮时执行 NumOfClicks++,然后执行 if(IsEven(NumOfClicks)),但它会给出错误“IsEven 在此上下文中不存在”。
private void btnPlay_Click_1(object sender, EventArgs e)
{
NumOfClicks++;
btnPlay.Text = "Stop";
filePath = @"TestTone.wav";
WaveGenerator wave = new WaveGenerator();
wave.Save(filePath);
SoundPlayer player = new SoundPlayer(filePath);
player.Play();
if (IsEven(NumOfClicks))
{
btnPlay.Text = "Play";
player.Stop();
filePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
File.Delete(@"TestTone.wav");
}
}
我尝试创建一个单独的“停止”按钮,但是 player.Stop() 命令不起作用(播放器“在此上下文中不存在”)。
我尝试使用带有 NumOfClicks 的开关,但得到相同的“播放器在此上下文中不存在”错误。
如果有人有解决方法或更好的方法,我将不胜感激!