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

问题描述 投票:0回答:1

所以我正在制作一种音乐播放器,目前有8种不同的音乐类型可供选择,我在使用System.Media.SoundPlayer提供的.play()和.stop()函数时遇到问题。创建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();

}

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

c# reference static public
1个回答
0
投票

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

}
© www.soinside.com 2019 - 2024. All rights reserved.