Hallo,
ich habe einen MP3 Player mit Hilfe von ChatGPT erstellt, ich habe viel Code kopieren müssen und den Code und
die Fehlermeldungen anpassen müssen. Doch wie in der Überschrift kann ich keine mp3 Datei öffnen....
es öffnet sich ein Dialog zum Öffnen der Datei....doch wenn ich die Datei auswähle und öffne passiert nix.
Brauche ich das Java Media Framework (JMF) ?
Da hilft mir jetzt Chat GPT nicht mehr weiter....erwähnt aber das es vielleicht am nicht vorhandenen JMF liegen könnte.
Wenn man eine Datei öffnen könnte und abspielen könnte und pausieren könnte, könnte man das mit der Warteschlange der mp3 Dateien noch richtig machen.
Kopiert den Code einfach in eure IDE. Es kommen keine Fehlermeldungen.
ich habe einen MP3 Player mit Hilfe von ChatGPT erstellt, ich habe viel Code kopieren müssen und den Code und
die Fehlermeldungen anpassen müssen. Doch wie in der Überschrift kann ich keine mp3 Datei öffnen....
es öffnet sich ein Dialog zum Öffnen der Datei....doch wenn ich die Datei auswähle und öffne passiert nix.
Brauche ich das Java Media Framework (JMF) ?
Da hilft mir jetzt Chat GPT nicht mehr weiter....erwähnt aber das es vielleicht am nicht vorhandenen JMF liegen könnte.
Java:
package application;
import java.io.File;
import java.util.LinkedList;
import java.util.Queue;
import javax.media.Manager;
import javax.media.Player;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public class MP3Player {
private Queue<File> songQueue = new LinkedList<>();
private Player player;
private GainControl gainControl;
private boolean songIsPlaying = false;
public static void main(String[] args) {
MP3Player mp3Player = new MP3Player();
mp3Player.run();
}
public void run() {
while (true) {
String command = JOptionPane.showInputDialog("Befehl eingeben (öffnen, abspielen, pausieren, beenden):");
if(command == null || command.trim().isEmpty()){
continue;
}
switch (command) {
case "öffnen":
open();
break;
case "abspielen":
play1();
break;
case "pausieren":
pause1();
break;
case "Lautstärke":
changeVolume();
break;
case "beenden":
System.exit(0);
break;
default:
JOptionPane.showMessageDialog(null, "Unbekannter Befehl.");
break;
}
}
}
private void open() {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
if (file != null) {
try {
player = Manager.createPlayer(file.toURI().toURL());
// player.start();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
private void play1() {
if (player != null) {
player.start();
}
}
private void pause1() {
if (player != null) {
player.stop();
}
}
// private void play() {
// if (!songQueue.isEmpty()) {
// if (player != null && !songIsPlaying) {
// songIsPlaying = true;
// player.start();
// }
// }
// }
private void pause() {
if (player != null) {
player.stop();
songIsPlaying = false;
}
}
private void changeVolume() {
if (player != null) {
float volume = Float.parseFloat(JOptionPane.showInputDialog("Geben Sie die Lautstärke ein (0.0-1.0)"));
gainControl = player.getGainControl();
if (gainControl != null) {
gainControl.setLevel(volume);
}
}
}
}
Wenn man eine Datei öffnen könnte und abspielen könnte und pausieren könnte, könnte man das mit der Warteschlange der mp3 Dateien noch richtig machen.
Kopiert den Code einfach in eure IDE. Es kommen keine Fehlermeldungen.