Thomas Darimont
Erfahrenes Mitglied
Hallo!
Also ich weis nicht, was du hast ... funktioniert doch einwandfrei...
Die einzige Änderung die ich eingebaut habe war die Zeile mit clip.loop(-1); für eine Endlosschleife...
Gruß Tom
Also ich weis nicht, was du hast ... funktioniert doch einwandfrei...
Code:
/**
*
*/
package de.tutorials;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.FloatControl;
import javax.swing.JButton;
import javax.swing.JFrame;
/**
* @author Administrator
*
*/
public class Player extends JFrame {
private Clip clip;
private JButton btn;
private boolean running;
public Player() {
super("Player");
setDefaultCloseOperation(EXIT_ON_CLOSE);
initPlayer();
btn = new JButton("Play");
btn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (!running) {
running = true;
clip.start();
clip.loop(-1);
} else {
running = false;
clip.stop();
}
}
});
add(btn);
pack();
setVisible(true);
}
private void initPlayer() {
try {
AudioInputStream ais = AudioSystem.getAudioInputStream(new File(
"C:\\windows\\media\\Windows XP-Startvorgang.wav"));
AudioFormat format = ais.getFormat();
DataLine.Info info = new DataLine.Info(Clip.class, format,
((int) ais.getFrameLength() * format.getFrameSize()));
clip = (Clip) AudioSystem.getLine(info);
clip.open(ais);
FloatControl gainControl = (FloatControl) clip
.getControl(FloatControl.Type.MASTER_GAIN);
gainControl.setValue(1.0F);
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
new Player();
}
}
Die einzige Änderung die ich eingebaut habe war die Zeile mit clip.loop(-1); für eine Endlosschleife...
Gruß Tom