/** * Plays a sound from a file. * * @param filename Path to the sound file */ public static void playSound(String filename) { URL resource = ClassLoader.getSystemClassLoader().getResource(filename); try { final Clip clip = (Clip) AudioSystem.getLine(new Line.Info(Clip.class)); clip.addLineListener(event -> { if (event.getType() == LineEvent.Type.STOP) { clip.close(); } }); clip.open(AudioSystem.getAudioInputStream(resource)); clip.start(); } catch (Exception e) { LOGGER.error("Failed to play sound " + filename, e); } }
private boolean done = false; @Override public synchronized void update(LineEvent event) { Type eventType = event.getType(); if (eventType == Type.STOP || eventType == Type.CLOSE) { done = true;
@Override public void update(LineEvent event) { if(event.getType().equals(LineEvent.Type.STOP)) { closeClip(); chain.playNextSound(); } }
line.addLineListener(event -> { log.debug("Event: {}", event); if (event.getType() != Type.STOP) { return;
public void update(LineEvent event) { if (event.getType().equals(LineEvent.Type.OPEN)) { hackSemaphore.release(); } }
myClip.addLineListener(new LineListener() { public void update(LineEvent myLineEvent) { if (myLineEvent.getType() == LineEvent.Type.STOP) myClip.close(); } });
@Override public synchronized void update(LineEvent event) { LineEvent.Type type = event.getType(); if (type == LineEvent.Type.CLOSE || type == LineEvent.Type.STOP) { finished = true; notifyAll(); } }
clip.addLineListener(new LineListener() { public void update(LineEvent event) { if (event.getType() == LineEvent.Type.STOP) { event.getLine().close(); } } });
@Override public void update(LineEvent event) { LOGGER.info("LineEvent: "+event); if (event.getType() == LineEvent.Type.STOP) { clip.close(); } } });
music = AudioSystem.getClip(); AudioInputStream ais = AudioSystem.getAudioInputStream(Sound.class.getResource("/sounds" + filename)); music.open(ais); music.addLineListener(new LineListener(){ public void update(LineEvent e){ if(e.getType() == LineEvent.Type.STOP){ e.getLine().close(); } } }); music.start();
final Clip clip = AudioSystem.getClip(); clip.addLineListener(new LineListener() { @Override public void update(LineEvent event) { if (event.getType() == LineEvent.Type.STOP) clip.close(); } });
@Override public void update(LineEvent event) { if (event.getType() == LineEvent.Type.STOP) clip.close(); } });
public void update (LineEvent event) { if (event.getType().equals(LineEvent.Type.STOP)) { try { event.getLine().close(); } catch (Throwable t) { t.printStackTrace(); } System.out.printf("Playback ended!"); } }
LineListener listener = new LineListener() { public void update(LineEvent event) { if (event.getType() == Type.STOP) { btnPlay.setEnabled(true); } } }; clip.addLineListener(listener);
clip.addLineListener( new LineListener() { public void update(LineEvent evt) { if (evt.getType() == LineEvent.Type.STOP) { evt.getLine().close(); } } });
final Clip clip = AudioSystem.getClip(); // Configure clip: clip.open(); clip.start(); clip.addLineListener(new LineListener() { @Override public void update(LineEvent event) { if (event.getType() == LineEvent.Type.STOP) clip.close(); } });
public void update(LineEvent event) { if (event.getType() != STOP) return; clip.removeLineListener(clipListener); clip = null; synchronized (notificationMutex) { playing = false; notificationMutex.notifyAll(); } } };
clip.start(); LineListener listener = new LineListener() { public void update(LineEvent event) { if (event.getType() == LineEvent.Type.START) { /* * here you are sure the clip is started */ } } }; clip.addLineListener(listener );
clip.addLineListener( new LineListener() { public void update(LineEvent event) { if (event.getType() == LineEvent.Type.STOP) { event.getLine().close(); System.exit(0); // <------------ terminate the JVM } } });
public void update(LineEvent event) { if (event.getType().equals(LineEvent.Type.STOP)) { line.close(); // really a stop?? } else if (event.getType().equals(LineEvent.Type.CLOSE)) { // this forces a system exit in example code // TODO: what should be done to close line if (debugFlag) debugPrint("JSClip.update(CLOSE) entered "); } }