Lors du lancement du son tu fais un Thread.sleep() ce qui risque si ton programme tourne sur le même thread d'arrêter également ton programme, je n'est jamais eu à faire des sons pour le moment mais je sais qu'il existe beaucoup de librairie qui te permettrais de jouer un sons facilement sinon j'ai vue également beaucoup d'exemple sur Google et j'imagine qu'un peu de recherche pourrait t'être bénéfique.
Ps: Il ne peut y avoir qu'une classe principale dans un programme, il faudrait d'abord commencer par définir un constructeur dans ta classe Starf comme-ci :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| public class starf {
public starf(String path)
{
File Clap = new File (path);
PlaySound(Clap);
}
public void PlaySound(File Sound){
try{
Clip clip = AudioSystem.getClip();
clip.open(AudioSystem.getAudioInputStream(Sound));
clip.start();
Thread.sleep(clip.getMicrosecondLength()/1000);
}catch(Exception e)
{
}
}
} |
puis en suite il suffirait d'instancier ta classe comme ça:
Starf starf = new Starf("abc.wav")
et vue que le son ce joue dés l'instanciation ça devrait fonctionner.
Ps2: Inutile d'envoyer plusieurs System.out.println("") pour faire des retours à la ligne, un simple System.out.println("\n \n Test") ou System.out.println("\n\nTest") devrait faire l'affaire (\n permettant de faire un retour à la ligne).
Partager