[英]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命名約定說,變量通常以小寫字母開頭,所以Audio
的AudioStream 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.