Mercurial > hg > pub > prymula > com
diff kopieckreta/src/wavResource.java @ 0:2787f5e749ae
INIT
author | prymula <prymula76@outlook.com> |
---|---|
date | Thu, 21 Sep 2023 22:33:57 +0200 |
parents | |
children | 489244127359 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kopieckreta/src/wavResource.java Thu Sep 21 22:33:57 2023 +0200 @@ -0,0 +1,71 @@ + +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 być + 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"); + } + } + +}