Mercurial > hg > pub > prymula > com
view kopieckreta/src/wavResource.java @ 23:489244127359
kopieckreta-0.240903-0
author | Przemyslaw <prymula76@outlook.com> |
---|---|
date | Mon, 01 Apr 2024 07:15:00 +0200 |
parents | 2787f5e749ae |
children |
line wrap: on
line source
package src; import java.io.IOException; import java.io.InputStream; import java.io.PrintStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.File; import java.util.*; import java.lang.*; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.Clip; import javax.sound.sampled.LineUnavailableException; public class wavResource { AudioInputStream ais; Clip clip; boolean running=false; public boolean PlayFlag=false; final int BUFFER_SIZE=128000; public void wavResource() { } public synchronized void play(final String filename){ new Thread(new Runnable() { public void run() { try{ InputStream is = getClass().getResourceAsStream(filename); InputStream bIn = new BufferedInputStream(is); ais = AudioSystem.getAudioInputStream(bIn); if (PlayFlag) { // to musi byc clip = AudioSystem.getClip(); clip.open(ais); clip.start(); ais.mark(BUFFER_SIZE); // po odkomentowaniu clip ustawiony na poczatek ais.reset(); PlayFlag=false; } } catch (Exception e) { e.printStackTrace(); } //catch (IOException e){ // } } }).start(); } public void stop(){ if (clip != null) { clip.stop(); clip.drain(); clip.close(); PlayFlag=false; //clip.flush(); //clip.setFramePosition(0); //System.out.println("Jestem w stopOk"); } } }