Создаем простой синтезатор с C# и WindowsForms
Здравствуйте. Сегодня мы создадим простой проект синтезатора на WindowsForms и C#. Прежде всего нам понадобятся звуки нот в формате wav. Перейдите по ссылке https://zvukogram.com/category/zvuki-not/ и скачайте звуки, начиная с ноты DO, и заканчивая той же нотой второй октавы.
Итак, создадим новый оконный проект WindowsForms в VisualStudio. Разместим на нем элементы Button в таком виде.
Для каждого Button создаем обработчик события, дважды кликнув по элементу.
Для воспроизведения звуков используем класс SoundPlayer из пространства имен System.Media.
Далее создаем функцию проигрыватель PlaySound и вызываем ее при нажатии соответствующей клавиши/кнопки на экране.
using System.Media;
namespace WinFormsApp_Piano
{
public partial class Form1 : Form
{
private SoundPlayer _soundPlayer;
public Form1()
{
InitializeComponent();
}
private void PlaySound(string soundFilePath)
{
_soundPlayer = new SoundPlayer(soundFilePath);
_soundPlayer.Play();
}
private void button1_Click_1(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-do.wav");
}
private void button2_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-sol.wav");
}
private void button3_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-lya.wav");
}
private void button4_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-mi.wav");
}
private void button5_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-si.wav");
}
private void button6_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-re.wav");
}
private void button7_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-fa.wav");
}
private void button8_Click(object sender, EventArgs e)
{
PlaySound("Полный путь к файлу\\zvuk-notyi-do-vo-vtoro-oktave.wav");
}
}
}
Таким образом, при нажатии соответствующей клавиши будет воспроизведена нота.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.