如何在不同方法中调用 SoundPlayer 类型变量

How to call SoundPlayer type variables in different methods

所以我正在制作一种音乐播放器,目前有 8 种不同的音乐流派可供选择,我在使用 .play() 和 .stop() 功能时遇到了问题 System.Media.SoundPlayer 在创建 SoundPlayer 变量的方法之外提供。

我试过设置变量 public 但这似乎不可能。我有这样声明的 SoundPlayer 变量:

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

我想制作它以便我可以使用 playrock.Play();和 playrock.Stop();在不同的方法中,如

private void ButtonWTVClick(object sender, EventArgs e){

playrock.Play();

}

但是 public static 对 System.IO.Stream 和 System.Media.SoundPlayer 都不起作用,所以我对如何将这些功能实现到不同的方法中有点困惑,因为我对编程,不知道所有的可能性。

使用 sticky bit 的最后建议,并在 Class/Form 级别声明它,如下所示:

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();
    }

}