En jouant .mp3 et .wav en Java?
Comment puis-je jouer un .mp3
et un .wav
fichier dans mon application Java? Je suis à l'aide de Swing. J'ai essayé de regarder sur internet, pour 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 fera que jouer .wav
fichiers.
La même chose avec:
http://www.javaworld.com/javaworld/javatips/jw-javatip24.html
Je veux être en mesure de jouer les deux .mp3
fichiers et .wav
les fichiers avec la même méthode.
- On dirait que vous aurez besoin d'un plugin de quelques sortes. JMF devrait avoir ce dont vous avez besoin. oracle.com/technetwork/java/javase/tech/index-jsp-140239.html
- Eh bien, je ne suis pas sûr de savoir comment utiliser ces choses, je n'ai jamais utilisé avant. Comment puis-je implent, comment puis-je l'utiliser?
- JFM a été abandonné en 2003. Il n'est pas recommandé de l'utiliser.
- Il est intéressant de noter que, dans un
main
méthode, il est nécessaire d'ajouter unThread.sleep
pour entendre le son, ou encore le programme prendra fin avant que cela arrive. Un moyen utile de le faire est:Thread.sleep(clip.getMicrosecondLength() / 1000);
Vous devez vous connecter pour publier un commentaire.
Java FX a
Media
etMediaPlayer
classes qui permettra de lire des fichiers mp3.Exemple de code:
Vous aurez besoin de déclarations d'importation:
resource.toString()
à laMedia()
constructeurMedia
etMediaPlayer
ne sont pas Java classes, mais JavaFX classes. Pour ajouter des mp3 de Java sur OS X ou Windows, vous voudrez peut-être regarder dans SampledSP. Et oui, j'ai écrit ces bibliothèques.MediaPlayer
, votre application doit également s'étendrejavafx.application.Application
, commepublic class MyClass extends Application
.MadiaPlayer
peut produire de fuite de mémoireJ'ai écrit un pur java lecteur mp3: mp3transform.
vous pouvez jouer .wav uniquement avec les API java:
code:
Et jouer .mp3 avec jLayer
Il a été un moment depuis que je l'ai utilisé, mais JavaLayer est idéal pour la lecture MP3
Je vous conseille d'utiliser le BasicPlayerAPI. Il est open source, très simple et elle ne nécessite pas de JavaFX.
http://www.javazoom.net/jlgui/api.html
Après le téléchargement et l'extraction du fichier zip, il faut ajouter les suivants jar fichiers pour le build path du projet:
Ici est un minimaliste exemple d'utilisation:
Nécessaire importations:
Que tout ce dont vous avez besoin pour commencer à jouer de la musique. Le Joueur est le démarrage et la gestion de sa propre lecture du fil et fournit lire, mettre en pause, reprendre, arrêter et chercher fonctionnalité.
Pour une utilisation avancée, vous pouvez prendre un coup d'oeil à la jlGui Lecteur de Musique. C'est un open source clone de WinAmp: http://www.javazoom.net/jlgui/jlgui.html
La première classe à regarder serait PlayerUI (à l'intérieur du paquet javazoom.jlgui.joueur.ampli).
Il démontre les fonctionnalités avancées de la BasicPlayer assez bien.
mp3spi1.9.4.jar
doit être remplacé parmp3spi1.9.5.jar
de la java zoom site cependant.player.play()
ou vous ne pouvez pas entendre le moindre son.En utilisant la norme javax.son API, un seul Maven dépendance, entièrement Open Source (Java 7 requis) :
pom.xml
Code
Références:
De donner aux lecteurs une autre alternative, je suggère JACo Lecteur MP3 de la bibliothèque, une croix-plate-forme java lecteur mp3.
Caractéristiques:
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 façon la plus simple que j'ai trouvé a été de télécharger le JLayer fichier jar à partir de http://www.javazoom.net/javalayer/sources.html et l'ajouter à la bibliothèque Jar http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29
Voici le code de la classe
et voici les importations
Vous avez besoin d'installer JMF première (télécharger en utilisant ce lien)
n'oubliez pas d'ajouter JMF les fichiers jar
De faire une recherche de freshmeat.net pour JAVA (acronyme de Java Audio Encodeur Vidéo) Bibliothèque (lien ici). C'est une bibliothèque pour ces sortes de choses. Je ne sais pas si Java est un natif fonction mp3.
Vous aurez probablement besoin de mettre la fonction mp3 et le wav, fonctionnent ensemble, l'utilisation de l'héritage, et une simple fonction wrapper, si vous voulez une méthode pour exécuter les deux types de fichiers.
Pour ajouter des MP3 de lecture de support de Java Sound, ajouter le
mp3plugin.jar
de la JMF au moment de l'exécution du chemin de classe de l'application.Noter que le
Clip
de classe a de la mémoire limites qui la rendent impropre à plus de quelques secondes d'un son de haute qualité.Utiliser cette bibliothèque: importation de soleil.l'audio.*;