Hallo!
Ich möchte meine aufgenommene WAV-Datei nach dem klicken auf einen PLAY - Button abspielen lassen. Hier mal mein Code:
nach dem drücken auf den button passiert nichts. also zumindest hört man nichts.
please help
Ich möchte meine aufgenommene WAV-Datei nach dem klicken auf einen PLAY - Button abspielen lassen. Hier mal mein Code:
Java:
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Observable;
import java.util.Observer;
import javax.imageio.ImageIO;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.DataLine;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine;
import javax.sound.sampled.TargetDataLine;
import javax.sound.sampled.UnsupportedAudioFileException;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
import javax.swing.SwingConstants;
import model.GriffeModel;
@SuppressWarnings("serial")
public class Gitarrengriffe extends JFrame implements Observer {
private GriffeModel model;
private Container contentPane;
private JTextField name, eSaite, BSaite, GSaite, DSaite, ASaite, ESaite;
private JButton adden, record, stop, play;
private JLabel hals, gg;
private JComboBox<String> griffeCombo;
private ArrayList<String> griff;
private String[] saiten;
private ImageIcon icon;
private BufferedImage image;
private File file;
public Gitarrengriffe(GriffeModel gm) {
model = gm;
this.model.addObserver(this);
contentPane = getContentPane();
JPanel griffePanel = new JPanel();
play = new JButton("PLAY");
griffePanel.add(play);
play.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
String name = (String) griffeCombo.getSelectedItem();
play(name);
}
});
}
public void play(String n){
String name = n + "_Sound";
AudioInputStream ais=null;
try{
File file = new File("C:\\Klaudia\\Java\\Beispiele\\Gitarrengriffe\\"+name+".wav");
ais = AudioSystem.getAudioInputStream(file);
AudioFormat format = ais.getFormat();
SourceDataLine line = null;
DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
line = (SourceDataLine) AudioSystem.getLine(info);
line.open(format);
line.start();
} catch (LineUnavailableException e) {
e.printStackTrace();
} catch (UnsupportedAudioFileException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
finally
{
try
{
ais.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
nach dem drücken auf den button passiert nichts. also zumindest hört man nichts.
please help