Comment jouer .les fichiers wav avec java
Je suis en train de jouer un *.fichier wav avec Java. Je veux faire ce qui suit:
Lorsqu'un bouton est enfoncé, jouer un court bip sonore.
J'ai googlé, mais la plupart du code ne fonctionnait pas. Quelqu'un peut-il me donner un simple extrait de code pour jouer un .fichier wav?
- ce qui ne fonctionne pas et pourquoi
Vous devez vous connecter pour publier un commentaire.
Enfin j'ai réussi à faire ce qui suit et il fonctionne très bien
Ici, c'est le plus élégant de forme j'ai pu arriver sans l'aide du soleil.*:
Thread.sleep(1000)
après laclip.start()
.Forme la plus courte (sans avoir à installer les bibliothèques aléatoires) ?
Le seul problème est qu'il n'ya pas de bonne façon de rendre cette méthode de blocage de fermer et de disposer de données après *.wav finitions.
clip.drain()
dit que c'est du blocage, mais il ne l'est pas. Le clip n'est pas en cours d'exécution juste APRÈSstart()
.Le seul travail mais LAID façon que j'ai trouvée est:
addLineListener
de sorte que vous n'avez pas besoin d'utiliser unwhile
boucle...Vous pouvez utiliser un écouteur d'événement pour fermer le clip après il est joué
L'extrait de ici fonctionne très bien, testé avec windows sound:
Une classe qui va jouer un fichier WAV, le blocage jusqu'à ce que le son a fini de jouer:
Un autre moyen de le faire avec
AudioInputStream
:extends Object
?Une solution sans réflexion java
DataLine.Info info = new DataLine.Info(SourceDataLine.class, audioFormat)
Réflexion Java diminuer les performances.
pour exécuter:
java playsound absoluteFilePathTo/file.wav
Vous pouvez utiliser AudioStream de cette façon: