Я видел несколько сообщений о многофункциональных кнопках здесь и в другом месте, но у меня возникли проблемы с реализацией их предложений.Кнопка воспроизведения/паузы для .wav-файла
Я кодирую синтезатор, который генерирует и сохраняет WAV-файл. У меня есть кнопка, которая воспроизводит звук с помощью SoundPlayer «без сохранения», сохраняя его в «bin», и я удаляю его позже. Я понимаю, что это не идеальный способ играть в звуки!
У меня есть ярлык кнопки, меняющийся от «Воспроизвести» до «Стоп» при нажатии. К сожалению, я не могу заставить кнопку функционировать как «остановить».
Я попытался создать «счетчик»,
public static int NumOfClicks = 0;
и делать NumOfClicks ++ каждый раз, когда кнопка нажата, то, если (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, но получил ошибку «игрок не существует в этом контексте».
Если у кого есть исправление или лучший способ сделать это, я был бы очень признателен!
Я отредактировал ваше название. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –
что вы используете..wpf, winforms? –
привет, я использую winforms, спасибо! –