【发布时间】:2013-04-19 17:29:01
【问题描述】:
我正在使用 JLayer 在我的游戏中播放 mp3 文件,但我无法停止这首歌。这是我的代码:
public void play(final String sonido) {
reproduciendo.put(sonido, 1);
Thread thread = new Thread() {
public void run() {
while(reproduciendo.get(sonido)!=null) {
try {
Player player = new Player(getSonido(sonido));
player.play();
if(player.isComplete()) reproduciendo.remove(sonido);
} catch(Exception e) {e.printStackTrace();};
}}
};
thread.start();
}
public void stop (String sonido ) {
reproduciendo.remove(sonido);
}
当我使用 stop 方法删除哈希图“reproduciendo”的歌曲时,它应该停止,但什么也没做,我在这里读过这种方式,但它对我不起作用。你知道另一种方法吗?
【问题讨论】:
-
我觉得你在previous question 中选择了JLayer 却忽略了我的建议,这是一个糟糕的选择。我在这个问题中添加了 JLayer 标记,并注意到它拥有 Java Sound 的 1/5 关注者。 Java Sound 播放的声音很容易停止。