Hallo liebe Java-Freaks und blutige Anfänger,
ich bin Java Anfänger und hab schon Erfahrung mit C und der "besten modernen prozenduralen Programmiersprache im Basic-Sektor" -PureBasic(teilweise schneller und kleinere Programme als C ,kein zusätzliches Framework).
Aber genug -ich will Java lernen und bin auch schon "ganz schön weit" ,habe mir das Buch Java von Kopf bis Fuß gekauft, mit dem ich jetzt auch fast duch bin.
Nun zu meiner Frage: Java kann ja sehr gut mit Midi umgehen, aber wie sieht es mit Mp3,Wav, etc. aus?
-> Ich schon (nach langer Suche) etwas zur Wav-Wiedergabe gefunden.
-> Habe das ganze dann zu einem GUI-Programm zusammen gebastelt.
-> Habe hinbekommen das es funktioniert. (Programm spielt *.wav unter Windows ab.)
-> Jetzt mein Problem: Java ist ja total Platformunabhängig und ich teste daher meine unter Windows programmierten Java-Programme auch unter Linux (Distr.: Ubuntu mit JDK 1.6).
------> Hatte damit bis jetzt auch noch keine Probleme, aber das Wav-Programm scheint nur unter Window zu funktionieren (trotz Java).
Wav-Programm:
Wie bringe ich das Wav-Programm nun unter Linux zum laufen?
ich bin Java Anfänger und hab schon Erfahrung mit C und der "besten modernen prozenduralen Programmiersprache im Basic-Sektor" -PureBasic(teilweise schneller und kleinere Programme als C ,kein zusätzliches Framework).
Aber genug -ich will Java lernen und bin auch schon "ganz schön weit" ,habe mir das Buch Java von Kopf bis Fuß gekauft, mit dem ich jetzt auch fast duch bin.
Nun zu meiner Frage: Java kann ja sehr gut mit Midi umgehen, aber wie sieht es mit Mp3,Wav, etc. aus?
-> Ich schon (nach langer Suche) etwas zur Wav-Wiedergabe gefunden.
-> Habe das ganze dann zu einem GUI-Programm zusammen gebastelt.
-> Habe hinbekommen das es funktioniert. (Programm spielt *.wav unter Windows ab.)
-> Jetzt mein Problem: Java ist ja total Platformunabhängig und ich teste daher meine unter Windows programmierten Java-Programme auch unter Linux (Distr.: Ubuntu mit JDK 1.6).
------> Hatte damit bis jetzt auch noch keine Probleme, aber das Wav-Programm scheint nur unter Window zu funktionieren (trotz Java).
Wav-Programm:
Java:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import java.io.File;
import javax.sound.sampled.*;
/**
*
* Beschreibung
*
* @version 1.0 vom 01.01.2010
* @author
*/
public class SoundTest extends JFrame {
// Anfang Attribute
private JButton jButton1 = new JButton();
private JButton jButton2 = new JButton();
File soundFile;
AudioInputStream sound;
DataLine.Info info;
Clip clip;
String Fili;
private JFileChooser jfco = new JFileChooser();
// Ende Attribute
public void starten() {
Fili=jfcoOpenFilename();
try{
soundFile = new File(Fili);
sound = AudioSystem.getAudioInputStream(soundFile);
info = new DataLine.Info(Clip.class, sound.getFormat());
clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
} catch (Exception e) {
System.out.println("So ein Mist!");
}
}
public SoundTest(String title) {
// Frame-Initialisierung
super(title);
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
int frameWidth = 193;
int frameHeight = 88;
setSize(frameWidth, frameHeight);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - getSize().width) / 2;
int y = (d.height - getSize().height) / 2;
setLocation(x, y);
Container cp = getContentPane();
cp.setLayout(null);
cp.setBackground(Color.YELLOW);
// Anfang Komponenten
jButton1.setBounds(8, 16, 75, 25);
jButton1.setText("Play");
jButton1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton1_ActionPerformed(evt);
}
});
cp.add(jButton1);
jButton2.setBounds(96, 16, 75, 25);
jButton2.setText("Stop");
jButton2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
jButton2_ActionPerformed(evt);
}
});
cp.add(jButton2);
// Ende Komponenten
setResizable(false);
setVisible(true);
starten();
}
// Anfang Methoden
public void jButton1_ActionPerformed(ActionEvent evt) {
try {
clip.start();
} catch (Exception ex) {
System.out.println("hohoho!!!");
}
}
public void jButton2_ActionPerformed(ActionEvent evt) {
try {
clip.stop();
} catch (Exception ex) {
System.out.println("hohoho!!!");
}
}
public String jfcoOpenFilename() {
jfco.setDialogTitle("Öffne Datei");
if (jfco.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
return jfco.getSelectedFile().getPath();
} else {
return null;
}
}
// Ende Methoden
public static void main(String[] args) {
new SoundTest("SoundTest");
}
}
Wie bringe ich das Wav-Programm nun unter Linux zum laufen?