Clip Audio ne sera pas en boucle
Quelqu'un peut me pointer dans la bonne direction pour expliquer pourquoi ce code ne sera pas lecture de ce clip audio en continu? Il joue une fois et s'arrête.
final Clip clip = AudioSystem.getClip();
final AudioInputStream inputStream = AudioSystem.getAudioInputStream(new File("Alarm_Police.wav"));
clip.open(inputStream);
clip.loop(Clip.LOOP_CONTINUOUSLY);
Avez-vous essayé de faire la boucle() avant de l'ouvrir()? Je n'ai pas essayé, mais il pourrait fonctionner.
Je l'ai juste essayé ici et il semble fonctionner... êtes-vous d'attraper une exception dans le bloc try qui devrait être le cerner ce code ?
Salut, j'ai essayé cela aussi et cela fonctionne. Avez-vous des som exception après la première boucle ?
Ouais mettre en boucle() avant de l'ouvrir() ne fonctionne tout simplement pas jouer n'importe quoi.
Aucune exception n'est levée.
Je l'ai juste essayé ici et il semble fonctionner... êtes-vous d'attraper une exception dans le bloc try qui devrait être le cerner ce code ?
Salut, j'ai essayé cela aussi et cela fonctionne. Avez-vous des som exception après la première boucle ?
Ouais mettre en boucle() avant de l'ouvrir() ne fonctionne tout simplement pas jouer n'importe quoi.
Aucune exception n'est levée.
OriginalL'auteur daveed007 | 2012-01-23
Vous devez vous connecter pour publier un commentaire.
Si vous exécutez une plus grande application, cette réponse peut ne pas s'appliquer. Mais pour un simple test avec ce morceau de code, ce peut aider:
Clip.loop() commence son propre thread, mais ce thread ne gardera pas la JVM vivant. Donc, pour le faire fonctionner, assurez-vous que le clip n'est pas le seul fil.
Si je quitte Fil.sommeil(..) à partir de cet extrait, j'ai le même problème que vous;
Vous avez tout à fait raison, je suis content d'avoir pu aider!
OriginalL'auteur Paaske
Afin de jouer le fichier audio complet vous besoin de connaître la longueur de temps pour dormir. Une autre solution serait de:
Cela empêche de dormir (dans les 100 ms par incréments) jusqu'à ce que le isRunning() de l'état s'est transformé en faux.
Vous pourriez avoir besoin d'une initiale de sommeil avant cette boucle, de sorte que le isRunning() l'état a le temps de jeu.
OriginalL'auteur Lord Ashes
Mon fichier audio contient 20 secondes d'une alarme sonore. J'en ai besoin en permanence de l'anneau. Au lieu d'utiliser du fil, je suis allé sur le morceau de code ci-dessous.
Pense que cela pourrait aider. Merci.
OriginalL'auteur Firnaz