Остановить проигрывание звука - 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();
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5