0

我正在使用 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”的歌曲时,它应该停止,但什么也没做,我在这里读过这种方式,但它对我不起作用。你知道另一种方法吗?

4

2 回答 2

0

查看我对其他类似问题的回答,只需播放一个音频帧并检查一个标志是否应该暂停或停止播放

https://stackoverflow.com/a/16738486/2094045

于 2013-05-24T15:45:59.500 回答
0

我不知道你使用的是什么库,但也许你可以在你的播放器类中找到一个“停止”方法。

于 2013-04-19T17:32:53.343 回答