Как вызвать переменные типа SoundPlayer в разных методах - PullRequest
0 голосов
/ 18 апреля 2019

Итак, я делаю своего рода музыкальный проигрыватель, который на данный момент имеет на выбор 8 разных музыкальных жанров, и у меня возникают проблемы с использованием функций .play () и .stop (), которые System.Media.SoundPlayer обеспечивает вне метода, в котором создаются переменные SoundPlayer.

Я пытался сделать переменные общедоступными, но это кажется невозможным. У меня переменные SoundPlayer объявлены так:

Stream rockmusic = Properties.Resources.rock1;
SoundPlayer playrock = new SoundPlayer(rockmusic);

Я хотел сделать так, чтобы я мог использовать playrock.Play (); и playrock.Stop (); внутри другого метода, как

private void ButtonWTVClick(object sender, EventArgs e){

playrock.Play();

}

Но общедоступная статика не работает ни для System.IO.Stream, ни для System.Media.SoundPlayer, поэтому я немного застрял в том, как реализовать эти функции в различных методах, так как я довольно новичок в программировании и не знаю всех возможности.

1 Ответ

0 голосов
/ 19 апреля 2019

Воспользуйтесь последним предложением закрепленного бита и объявите его на уровне класса / формы, например:

public partial class Form1 : Form
{

    private SoundPlayer playrock = new SoundPlayer(Properties.Resources.rock1);

    public Form1()
    {
        InitializeComponent();
    }

    private void ButtonWTVClick(object sender, EventArgs e)
    {
        playrock.Play();
    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...