Wie kann ich eine .mp3
und eine .wav
Datei in meiner Java-Anwendung abspielen ? Ich benutze Swing. Ich habe versucht, im Internet nach so etwas wie diesem Beispiel zu suchen:
public void playSound() {
try {
AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("D:/MusicPlayer/fml.mp3").getAbsoluteFile());
Clip clip = AudioSystem.getClip();
clip.open(audioInputStream);
clip.start();
} catch(Exception ex) {
System.out.println("Error with playing sound.");
ex.printStackTrace();
}
}
Dies spielt jedoch nur .wav
Dateien ab.
Das selbe mit:
http://www.javaworld.com/javaworld/javatips/jw-javatip24.html
Ich möchte in der Lage sein, sowohl .mp3
Dateien als auch .wav
Dateien mit derselben Methode abzuspielen.
main
Methode ein hinzugefügt werdenThread.sleep
muss, um den Ton zu hören. Andernfalls wird das Programm beendet, bevor dies geschieht. Ein nützlicher Weg, dies zu tun, ist:Thread.sleep(clip.getMicrosecondLength() / 1000);
Antworten:
Java FX hat
Media
undMediaPlayer
Klassen, die MP3-Dateien abspielen.Beispielcode:
Sie benötigen die folgenden Importanweisungen:
quelle
Media
undMediaPlayer
sind nicht Java - Klassen, aber JavaFX Klassen. Um Java unter OS X oder Windows MP3-Unterstützung hinzuzufügen, sollten Sie sich SampledSP ansehen . Und ja - ich habe diese Bibliotheken geschrieben.Ich habe einen reinen Java-MP3-Player geschrieben: mp3transform .
quelle
Sie können .wav nur mit der Java-API spielen:
Code:
Und spielen Sie .mp3 mit jLayer
quelle
Es ist schon eine Weile her, seit ich es benutzt habe, aber JavaLayer eignet sich hervorragend für die MP3-Wiedergabe
quelle
Unter Verwendung der Standard-API javax.sound, einer einzelnen Maven-Abhängigkeit, vollständig Open Source ( Java 7 erforderlich):
pom.xml
Code
Verweise:
quelle
Ich würde empfehlen, die BasicPlayerAPI zu verwenden. Es ist Open Source, sehr einfach und erfordert kein JavaFX. http://www.javazoom.net/jlgui/api.html
Nach dem Herunterladen und Extrahieren der Zip-Datei sollten die folgenden JAR-Dateien zum Erstellungspfad des Projekts hinzugefügt werden:
Hier ist ein minimalistisches Anwendungsbeispiel:
Erforderliche Importe:
Das ist alles, was Sie brauchen, um Musik zu spielen. Der Player startet und verwaltet seinen eigenen Wiedergabethread und bietet Wiedergabe, Pause, Wiederaufnahme, Stopp und Suche .
Für eine erweiterte Verwendung können Sie sich den jlGui Music Player ansehen. Es ist ein Open Source WinAmp-Klon: http://www.javazoom.net/jlgui/jlgui.html
Die erste Klasse, die man sich ansieht , ist PlayerUI (im Paket javazoom.jlgui.player.amp). Es zeigt die erweiterten Funktionen des BasicPlayer ziemlich gut.
quelle
mp3spi1.9.4.jar
sollte jedoch durchmp3spi1.9.5.jar
von der Java-Zoom-Site ersetzt werden.player.play()
möglicherweise keinen Ton hören.Der einfachste Weg, den ich gefunden habe, war das Herunterladen der JLayer-JAR-Datei von http://www.javazoom.net/javalayer/sources.html und das Hinzufügen zur Jar-Bibliothek http://www.wikihow.com/Add-JARs- to-Project-Build-Pfade-in-Eclipse-% 28Java% 29
Hier ist der Code für die Klasse
und hier sind die Importe
quelle
Um den Lesern eine weitere Alternative zu bieten, schlage ich die JACo MP3 Player-Bibliothek vor, einen plattformübergreifenden Java MP3 Player.
Eigenschaften:
Eine vollständige Liste der Methoden und Attribute finden Sie in der Dokumentation hier .
Beispielcode:
Weitere Einzelheiten habe ich ein einfaches Tutorial hier , die eine herunterladbare Quelltext enthält.
quelle
Verwenden der Maven-Abhängigkeit von MP3-Decoder / Player / Konverter .
quelle
Sie müssen zuerst JMF installieren ( Download über diesen Link )
Vergessen Sie nicht, JMF-JAR-Dateien hinzuzufügen
quelle
Durchsuchen Sie freshmeat.net nach der JAVE-Bibliothek (steht für Java Audio Video Encoder) (Link hier ). Es ist eine Bibliothek für diese Art von Dingen. Ich weiß nicht, ob Java eine native MP3-Funktion hat.
Sie müssen wahrscheinlich die MP3-Funktion und die WAV-Funktion mithilfe der Vererbung und einer einfachen Wrapper-Funktion zusammenfassen, wenn eine Methode beide Dateitypen ausführen soll.
quelle
Fügen Sie zum Hinzufügen von MP3-Leseunterstützung zu Java Sound
mp3plugin.jar
die JMF zum Laufzeitklassenpfad der Anwendung hinzu.Beachten Sie, dass die
Clip
Klasse über Speicherbeschränkungen verfügt, die sie für mehr als einige Sekunden mit hoher Klangqualität ungeeignet machen.quelle
Ich habe andere Methoden dafür, die erste ist:
Und der zweite ist:
Und wenn wir eine Schleife zu diesem Audio erstellen möchten, verwenden wir diese Methode.
Wenn wir diese Schleife stoppen möchten, fügen wir diese Bibliotheken im Versuch hinzu:
Für diese dritte Methode fügen wir die folgenden Importe hinzu:
quelle
Verwenden Sie diese Bibliothek: import sun.audio. *;
quelle