Added songs, new libraries and more code

This commit is contained in:
2015-05-29 12:47:25 +02:00
parent 4f4b10fd89
commit 7b21aa1e09
67 changed files with 388 additions and 75 deletions
+80
View File
@@ -0,0 +1,80 @@
package audio;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
public class AudioPlayer {
private Clip clip;
public AudioPlayer() {
clip = null;
}
public void setClip(Song s) {
try {
clip = null;
AudioInputStream ais = s.getAudioStream();
AudioFormat baseFormat = ais.getFormat();
AudioFormat decodeFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, baseFormat.getSampleRate(), 16, baseFormat.getChannels(), baseFormat.getChannels() * 2, baseFormat.getSampleRate(), false);
AudioInputStream dais = AudioSystem.getAudioInputStream(decodeFormat, ais);
clip = AudioSystem.getClip();
clip.open(dais);
} catch (Exception e) {
e.printStackTrace();
}
}
public void play() {
if (clip == null)
return;
clip.start();
}
public void pause()
{
if (clip == null)
return;
if (clip.isRunning())
{
clip.stop();
}
}
public void play(int framePosition) {
if (clip == null)
return;
stop();
clip.setFramePosition(framePosition);
clip.start();
}
public void stop() {
if (clip == null)
return;
if (clip.isRunning())
{
clip.stop();
clip.setFramePosition(0);
}
}
public void close() {
stop();
if(clip != null)
{
clip.close();
}
}
public long getProgress()
{
if(clip != null)
return clip.getMicrosecondPosition();
else
return 0L;
}
}