게임에서 mp3 파일을 재생할 때 JLayer를 사용하지만 노래를 중지 할 수 없습니다. 나는 그것이 중지해야 정지 방법 해시 맵 "reproduciendo"의 노래를 제거하면JLayer를 사용하여 사운드를 멈추는 방법
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);
}
,하지만 아무것도 내가 여기 이런 식으로 읽었 수행되지 않습니다, 그러나 그것은 작동하지 않습니다 : 그것은 내 코드입니다 나를. 다른 방법을 알고 있습니까?
을 중단해야하는 경우 하나 개의 오디오 프레임을 재생하고 플래그를 확인, 다른 유사한 질문에 대한 내 대답을 참조 내 조언을 무시하면서 JLayer를 선택하는 데있어 http://stackoverflow.com/q/16087152/418556). 이 질문에 JLayer 태그를 추가하고 Java Sound가 가진 추종자의 1/5을 차지하고 있음을 확인합니다. Java Sound로 재생되는 사운드를 정지시키는 것은 꽤 쉽습니다. –