Остановить проигрывание звука - C#
Формулировка задачи:
Делаю программный синтезатор (курсовик), в программировании разбираюсь на уровне ХеллоуВордщика. Вообщем-то хочу чтобы произведение звука останавливалось( player.Stop() ) при нажатии кнопки ( button3 ) однако выдает следующую ошибку "Элемент player не существует в текущем контексте", пробовал "играться" с this, однако ни к чему хорошему не привело. Пытался поменять private void на public void, безуспешно. Буду рад любой помощи.
using System;
using System.IO;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SyncroMachine;
using System.Media;
namespace SyncroMachine
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Вы уверены, что хотите выйти?", Application.ProductName, MessageBoxButtons.YesNo) != DialogResult.No)
Application.Exit();
}
private void button1_Click(object sender, EventArgs e)
{
int sampleRate = 8000;
Track test = new Track(sampleRate);
test.Music(textBox1.Text, 70);
test.Synthesize();
Stream stream = new MemoryStream();
test.SaveWave(stream);
stream.Position = 0;
SoundPlayer player = new SoundPlayer(stream);
player.PlayLooping();
}
private void button3_Click(object sender, EventArgs e)
{
player.Stop();
}
}
}Решение задачи: «Остановить проигрывание звука»
textual
Листинг программы
SoundPlayer player;
private void button1_Click(object sender, EventArgs e)
{
int sampleRate = 8000;
Track test = new Track(sampleRate);
test.Music(textBox1.Text, 70);
test.Synthesize();
Stream stream = new MemoryStream();
test.SaveWave(stream);
stream.Position = 0;
player = new SoundPlayer(stream);
player.PlayLooping();
}
private void button3_Click(object sender, EventArgs e)
{
player.Stop();
}