Bonjour,
Pour un petit projet dans mon université je suis amené à lire des fichiers WAV avec le JMF (javax.sound.sampled.*).
Lorsque je veux lire certains sons, j'obtiens l'erreur suivante :
Caused by: java.lang.OutOfMemoryError: Java heap space
at baseDonnees.FichierWAV.getSamples(FichierWAV.java:128)
La ligne 128 est la ligne "byte[] samples = new byte[length];" dans l'extrait suivant :
Certains comportements sont bizares, par exemple, je veux lire un fichier WAV (pas le lire au sens jouer le son mais le lire au sens en extraire les infos (taux d'echantillonage, taille des samples, ...)) là il se peut que je n'aie pas d'erreur mais si je retente le meme fichier juste apres j'aurais cette erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public byte[] getSamples(AudioInputStream stream){ int length = (int)(stream.getFrameLength() * format.getFrameSize()); byte[] samples = new byte[length]; DataInputStream in = new DataInputStream(stream); try{ in.readFully(samples); } catch (IOException e){ e.printStackTrace(); } return samples; }
Il semble que plus le fichier WAV soit petit moins il y a de problèmes (c'est plutot cohérent avec la "OutOfMemoryError")
Nous ne savons pas comment résoudre ce problème.
Merci d'avance de votre aide.
Partager