我使用下面的代码播放一首歌但是它长了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);
,但没有成功。
答案 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();