簡體   English   中英

如何阻止聲音/音樂在另一幀播放?

[英]How do I stop my sound/music from playing in another frame?

我使用以下代碼播放歌曲,但由於時長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); 但沒有成功。

普通的Java命名約定說,變量通常以小寫字母開頭,所以AudioAudioStream Audio = new AudioStream(test); 可能會被誤解為一個類,而不是您的局部變量。

我認為鏈接可以幫助您使用stop方法,如果那是不起作用的代碼。

如果您在使用stop方法或變量名時沒有遇到麻煩,那么我建議您使用一個單獨的類來保存AudioStream對象並使它們成為靜態對象,以便同一包中的任何類都可以訪問它。

您的課程如下所示:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM