Comment puis-je lire .mp3
un .wav
fichier et un fichier dans mon application Java? J'utilise Swing. J'ai essayé de chercher sur Internet, quelque chose comme cet exemple:
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();
}
}
Mais, cela ne lira que les .wav
fichiers.
De même:
http://www.javaworld.com/javaworld/javatips/jw-javatip24.html
Je veux pouvoir lire les .mp3
fichiers et les .wav
fichiers avec la même méthode.
main
méthode, il est nécessaire d'ajouter unThread.sleep
pour entendre le son, sinon le programme se terminera avant que cela ne se produise. Une façon utile de le faire est:Thread.sleep(clip.getMicrosecondLength() / 1000);
Réponses:
Java FX a
Media
etMediaPlayer
classes qui liront les fichiers mp3.Exemple de code:
Vous aurez besoin des instructions d'importation suivantes:
la source
Media
etMediaPlayer
ne sont pas des classes Java , mais des classes JavaFX . Pour ajouter la prise en charge de mp3 à Java sous OS X ou Windows, vous pouvez consulter SampledSP . Et oui - j'ai écrit ces bibliothèques.J'ai écrit un pur lecteur mp3 java: mp3transform .
la source
vous ne pouvez jouer .wav qu'avec l'API java:
code:
Et jouez .mp3 avec jLayer
la source
Cela fait un moment que je ne l'ai pas utilisé, mais JavaLayer est idéal pour la lecture MP3
la source
Utilisation de l'API javax.sound standard, une seule dépendance Maven, complètement Open Source ( Java 7 requis):
pom.xml
Code
Références:
la source
Je recommanderais d'utiliser le BasicPlayerAPI. C'est open source, très simple et ne nécessite pas JavaFX. http://www.javazoom.net/jlgui/api.html
Après avoir téléchargé et extrait le fichier zip, il faut ajouter les fichiers jar suivants au chemin de construction du projet:
Voici un exemple d'utilisation minimaliste:
Importations requises:
C'est tout ce dont vous avez besoin pour commencer à jouer de la musique. Le lecteur démarre et gère son propre fil de lecture et propose lecture, pause, reprise, arrêt et recherche .
Pour une utilisation plus avancée, vous pouvez jeter un œil au lecteur de musique jlGui. C'est un clone WinAmp open source: http://www.javazoom.net/jlgui/jlgui.html
La première classe à examiner serait PlayerUI (dans le package javazoom.jlgui.player.amp). Il démontre assez bien les fonctionnalités avancées du BasicPlayer.
la source
mp3spi1.9.4.jar
devrait être remplacé parmp3spi1.9.5.jar
du site java zoom.player.play()
ou vous n'entendrez peut-être aucun son.Le moyen le plus simple que j'ai trouvé était de télécharger le fichier jar JLayer à partir de http://www.javazoom.net/javalayer/sources.html et de l'ajouter à la bibliothèque Jar http://www.wikihow.com/Add-JARs- vers-Project-Build-Paths-in-Eclipse-% 28Java% 29
Voici le code de la classe
et voici les importations
la source
Pour donner aux lecteurs une autre alternative, je suggère la bibliothèque JACo MP3 Player, un lecteur mp3 java multiplateforme.
Fonctionnalités:
Pour une liste complète de ses méthodes et attributs, vous pouvez consulter sa documentation ici .
Exemple de code:
Pour plus de détails, j'ai créé un tutoriel simple ici qui comprend un code source téléchargeable.
la source
Utilisation du décodeur / lecteur / convertisseur MP3 Dépendance Maven.
la source
Vous devez d'abord installer JMF ( télécharger en utilisant ce lien )
n'oubliez pas d'ajouter les fichiers jar JMF
la source
Faites une recherche sur freshmeat.net pour la bibliothèque JAVE (signifie Java Audio Video Encoder) (lien ici ). C'est une bibliothèque pour ce genre de choses. Je ne sais pas si Java a une fonction mp3 native.
Vous devrez probablement encapsuler la fonction mp3 et la fonction wav ensemble, en utilisant l'héritage et une simple fonction wrapper, si vous voulez qu'une méthode exécute les deux types de fichiers.
la source
Pour ajouter la prise en charge de la lecture MP3 à Java Sound, ajoutez le
mp3plugin.jar
fichier JMF au chemin d'accès aux classes d'exécution de l'application.Notez que la
Clip
classe a des limitations de mémoire qui la rendent inadaptée pour plus de quelques secondes de son de haute qualité.la source
J'ai d'autres méthodes pour cela, la première est:
Et le second est:
Et si nous voulons faire une boucle sur cet audio, nous utilisons cette méthode.
si nous voulons arrêter cette boucle, nous ajoutons ces libreries dans l'essai:
pour cette troisième méthode, nous ajoutons les importations suivantes:
la source
Utilisez cette bibliothèque: import sun.audio. *;
la source