pb mise-à-jour du jar

This commit is contained in:
AdecWatt
2019-04-15 17:45:06 +02:00
parent ff8ce44fa3
commit 04927ed4c0
4 changed files with 133 additions and 75 deletions

View File

@ -9,8 +9,6 @@
// ================================================================================
package misc;
import java.applet.Applet;
import java.applet.AudioClip;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Container;
@ -42,6 +40,14 @@ import java.util.Collection;
import java.util.Hashtable;
import java.util.List;
import java.util.Set;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineEvent;
import javax.sound.sampled.LineListener;
import javax.sound.sampled.LineUnavailableException;
import javax.swing.AbstractButton;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
@ -610,9 +616,41 @@ public class Util implements SwingConstants {
}
// ========================================
static public final AudioClip loadAudio (String... names) {
static public final AudioInputStream loadAudio (String... names) {
URL url = Config.getDataUrl (names);
return (url != null) ? Applet.newAudioClip (url) : null;
try {
return AudioSystem.getAudioInputStream (url);
} catch (Exception e) {
return null;
}
}
static public final void play (AudioInputStream stream) {
if (stream == null)
return;
try {
AudioFormat format = stream.getFormat ();
DataLine.Info info = new DataLine.Info (Clip.class, format);
Clip clip = (Clip) AudioSystem.getLine (info);
clip.open (stream);
clip.addLineListener (new LineListener () {
public void update (LineEvent event) {
LineEvent.Type type = event.getType();
if (type == LineEvent.Type.START) {
// System.err.println ("Playback started.");
} else if (type == LineEvent.Type.STOP) {
// System.er.println ("Playback completed.");
clip.close ();
}
}
});
clip.start ();
} catch (LineUnavailableException e) {
Log.keepLastException ("Audio line for playing back is unavailable", e);
} catch (IOException e) {
Log.keepLastException ("Error playing the audio file", e);
}
}
// ========================================