如何阻止我的声音/音乐在另一帧中播放?

时间:2015-06-04 16:27:33

标签: java netbeans

我使用下面的代码播放一首歌但是它长了11分钟,所以我怎么能阻止它呢?

此代码位于jFrame 1.如何在jFrame 2中停止?

                        InputStream test =getClass().getClassLoader().getResourceAsStream("musics/menu.wav");
                        AudioStream Audio = new AudioStream(test);                        
                        AudioPlayer.player.start(Audio);

我尝试将AudioPlayer.player.start(Audio);转为AudioPlayer.player.**stop**(Audio);,但没有成功。

1 个答案:

答案 0 :(得分:1)

普通的java命名约定说变量通常以小写字母开头,因此Audio中的AudioStream Audio = new AudioStream(test);可能会被误解为类,而不是本地变量。

我认为this链接可以帮助您使用stop方法,如果该代码不起作用。

如果您没有遇到停止方法和变量名称的问题,那么我建议您使用单独的类来保存您的AudioStream对象并使它们保持静态,因此同一个包中的任何类都可以访问它。 / p>

你的课程看起来像这样:

public class AudioHelper {
    static InputStream test = getClass().getClassLoader().getResourceAsStream("musics/menu.wav");
    static AudioStream audio = new AudioStream(test);                        

    public static void play() {
        AudioPlayer.player.start(audio);
    }

    public static void stop() {
        AudioPlayer.player.stop(audio);
    }
}

你可以访问这样的方法,无论你在哪个JFrame中:

AudioHelper.play();
AudioHelper.stop();