Bug de musique java

Bonjour,
Je suis entrain actuellement de programmer un jeu, j'ai peu écrire 700 lignes de code(44Mo) .
le seul problème dans mon code est la musique, quand je lance mon programme, une erreur s'affiche:
Exception in thread "main" java.lang.IllegalArgumentException: No line matching interface Clip supporting format PCM_SIGNED unknown sample rate, 16 bit, stereo, 4 bytes/frame, big-endian is supported.
Le code de la musique:
File file = new File("/home/lukas/Téléchargements/tomas.wav");
try {
AudioInputStream audioIn = AudioSystem.getAudioInputStream(file);
// Get a sound clip resource.
Clip clip = AudioSystem.getClip();
// Open audio clip and load samples from the audio input stream.
clip.open(audioIn);
clip.start();
clip.loop(boucleson);
} catch (UnsupportedAudioFileException ep) {
ep.printStackTrace();
} catch (IOException ep) {
ep.printStackTrace();
} catch (LineUnavailableException ep) {
ep.printStackTrace();
}

//Question secondaire (et aussi, je suis sur linux, linux arrive très bien à ouvrir mon application en plein écran avec "window.setExtendedState(JFrame.MAXIMIZED_BOTH); " mais, window n'y arrive pas, pourquoi ? et comment puis-je remédier à cela ?)

Configuration: Linux / Firefox 79.0

5 réponses

  1. oui, il l'est ! ^^ j'ai défini le mode de femeture sur exit and close.
    1. Merci ! Mais.. pour mon problème, saurais-tu pourquoi cela fait ça ? une fois ça ne marche pas et l'autre oui sans changer ni ajouter ni supprimer la moinde ligne de code ?
      1. Modérateur
        Est-ce que le programme est bien arrêté ?
        Si tu as deux exécutions en parallèle, parce que la première n'est pas vraiment arrêté, tu pourrais avoir un conflit au moment d'accéder à la ressource.
    2. Enfin bref, désolé, je spam. Je voulais savoir, comment mettre une musique de base, longue, mais en pouvant modifier son volume ?
      1. Modérateur
        Tu peux modifier le volume avec FloatControl.Type.MASTER_GAIN.

        Exemple :
        clip.open(audioIn);
        FloatControl masterGain = (FloatControl) clip.getControl(FloatControl.Type.MASTER_GAIN);
        masterGain.setValue(-30);
        clip.start();
    3. ah ouais par contre.. là, j'ai relancer mon ide (eclipse) ça marche alors que je n'ai rien toucher.. (modification: au bout du deuxième lancement.... ça ne fonctionne plus en m'affiche le meme message d'erreur.. )
      1. Modérateur
        Bonjour,

        Cela ressemble à une erreur dans le format de ton fichier .wav

        Tu peux essayer avec un autre fichier, par exemple j'ai testé le fichier de 1 Mo sur
        https://file-examples.com/index.php/sample-audio-files/sample-wav-download/

        Si je fais
        System.out.println(audioIn.getFormat());
        j'obtiens ce résultat :
        PCM_SIGNED 8000.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
        La valeur 8000.0 Hz est indiquée là où dans ton erreur tu as "unknown sample rate"

        Quant à ta question sur JFrame.MAXIMIZED_BOTH, cela fonctionne très bien sous Windows, mais cela rentre peut-être en conflit avec d'autres instructions dans ton code.
        1. Mais pourtant, le fichier marchais très bien avant, je ne comprends pas trop comment il aurait peu changer comme ça..mais merci, je vais essayer de changer de musique ! (et merde, je me suis gourer et j'ai mis ton pseudo, désolé )