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