J
javaplayer
Gast
ich schreibe gerade so einen kleinen Player und habe mehrere probleme, da ich mich auf diesem gebiet noch nicht so gut auskenne.
Probleme:
1) ich weiß nicht wie man audio dateien einließt (habs mit AudioClip music = null; probiert, geht aber irgendwie nicht)
2) ich weiß nicht wie ich die variable music mit dem filechooser verbinden kann. also das, dass ausgewählte lied (das mit dem filechooser ausgewählt wurde) durch die variable music gestartet wird (also music.play())
3) wenn ich public class TxtFilter extends FileFilter schreibe, dann gibt es probleme mit public class stecknplayer und wenn ich public void TxtFilter extends FileFIlter schreiber, dann erkennt es das extends nicht.
4) hab probleme mit den button (befehlen) weiß nicht so recht wie man denen den befehl gibt. (zb music.stop()
5) sitmmt überhaupt der aufbau der methoden und klassen? also befinden sich die "unter" methoden u.s.w an der richtigen stelle oder kann man da was besser machen?
hier der code:
Danke im voraus!
Probleme:
1) ich weiß nicht wie man audio dateien einließt (habs mit AudioClip music = null; probiert, geht aber irgendwie nicht)
2) ich weiß nicht wie ich die variable music mit dem filechooser verbinden kann. also das, dass ausgewählte lied (das mit dem filechooser ausgewählt wurde) durch die variable music gestartet wird (also music.play())
3) wenn ich public class TxtFilter extends FileFilter schreibe, dann gibt es probleme mit public class stecknplayer und wenn ich public void TxtFilter extends FileFIlter schreiber, dann erkennt es das extends nicht.
4) hab probleme mit den button (befehlen) weiß nicht so recht wie man denen den befehl gibt. (zb music.stop()
5) sitmmt überhaupt der aufbau der methoden und klassen? also befinden sich die "unter" methoden u.s.w an der richtigen stelle oder kann man da was besser machen?
hier der code:
Code:
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Color;
import javax.swing.JComponent;
import javax.swing.Action;
import javax.swing.ActionMap;
import javax.swing.AbstractAction;
import javax.swing.*;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import java.awt.Container;
import java.io.File;
import javax.swing.filechooser.FileFilter;
import java.awt.HeadlessException;
// ButtonFrame1
class ButtonFrame1 extends JFrame {
public ButtonFrame1() {
setSize(500,200);
setTitle("Farben wechseln");
getContentPane().add(new ButtonPanel1());
}
}
// ButtonPanel1
class ButtonPanel1 extends JPanel {
// Filechooser
private void showDialog(){
try {
JFileChooser ch = new JFileChooser();
//Arbeitsverzeichnis
ch.setCurrentDirectory(new File("."));
//Mehrfachauswahl
ch.setMultiSelectionEnabled(false);
//filter
ch.setFileFilter(new TxtFilter());
//Dateien und Verzeichnisse
ch.setFileSelectionMode(
JFileChooser.FILES_AND_DIRECTORIES);
int ergebnis =
ch.showDialog(this,
"Song Wählen");
if (ergebnis ==
JFileChooser.APPROVE_OPTION) {
text.setText(
ch.getSelectedFile().getName());
} else {
text.setText("Abgebrochen");
}
} catch(HeadlessException ex) {
JOptionPane.showMessageDialog(this,
"Ihre Plattform kann das nicht");
}
} // Filechooser ende
//Filter für FIlechooser
public class TxtFilter extends FileFilter
{
public boolean accept(File datei) {
return
datei.getName().toLowerCase().
endsWith(".wav");
}
public String getDescription() {
return "WAV Format";
}
} //Filter für Filechooser ende
// Button
public ButtonPanel1()
{
add(b1 = new JButton("Play"));
add(b2 = new JButton("Stop"));
add(b3 = new JButton("Loop"));
add(b4 = new JButton("Öffnen"));
// Play Button
b1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
Object source1 = a.getSource();
if (source == b1) {
music.play();
}
}
});
// Stop Button
b2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent b) {
Object source2 = b.getSource();
if (source == b2) {
music.stop();
}
}
});
// Loop Button
b3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent c) {
Object source3 = c.getSource();
if (source == b3) {
music.loop();
}
}
});
// Öffnen Button
b4.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(b4) {
showDialog();
}
}
});
} // ButtonPanel1() ende
private JButton b1;
private JButton b2;
private JButton b3;
private JButton b4;
private AudioClip music = null;
} // ButtonPanel ende
// START
public class stecknplayer {
public static void maim(String[] argv) {
ButtonFrame1 frame = new ButtonFrame1();
frame.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
frame.show();
}
} // Start ende
Danke im voraus!