| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- package audio;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import javazoom.jl.decoder.JavaLayerException;
- import javazoom.jl.player.Player;
- public class AudioPlayer{
- private Player clip;
- private FileInputStream fis;
- private Song s;
- private Thread thread;
- public AudioPlayer() {
- clip = null;
- }
- public void setClip(Song s) {
- try {
- if(clip!=null)
- clip.close();
- this.s = s;
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- public void play() {
- try {
- fis = new FileInputStream(s.getAudio());
- clip = new Player(fis);
- } catch (JavaLayerException | FileNotFoundException e1) {
- e1.printStackTrace();
- }
- Thread thread = new Thread(new Runnable() {
- @Override
- public void run() {
- if(clip != null){
- try {
- clip.play();
- } catch (JavaLayerException e) {
- e.printStackTrace();
- }
- }
- }});
- thread.start();
- }
- public void close() {
- if(clip != null)
- {
- clip.close();
- clip = null;
- try {
- if(fis != null)
- fis.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- if(thread != null && thread.isAlive())
- thread.stop();
- }
- }
-
-
- public long getProgress()
- {
- if(clip != null)
- return clip.getPosition()*1000;
- else
- return 0L;
- }
- }
|