Concatenation fichier waves en java

issats1987 Messages postés 9 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 24 avril 2012 - 29 mars 2012 à 15:35
issats1987 Messages postés 9 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 24 avril 2012 - 31 mars 2012 à 20:16
Bonjour tout le monde

je veux concaténer plusieurs fichiers wave en java
enfaite j'ai réussi à faire la concatenation de deux fichiers , c bon
mais lorsque j'ai voulu ajouter d'autres fichiers le son est devenu incompréhensible
je sais pas ou le prnlm
je vais poster mon code pour que tout le monde puisse m'aider

merci pour votre attention

String wavFile[] = new String[4];
wavFile[0] = "D:\\wav2.wav";
wavFile[1] = "D:\\nouveaufichier.wav";
wavFile[2] = "D:\\nouveaufichier.wav";
wavFile[3] = "D:\\wav2.wav";
AudioInputStream appendedFiles;

for (i=0;i<=1;i++)
{

}
AudioInputStream clip3;
try
{

AudioInputStream clip0=AudioSystem.getAudioInputStream(new File(waveTabbbbb[0]));
AudioInputStream clip1=AudioSystem.getAudioInputStream(new File(waveTabbbbb[1]));


for(i=0;i<=1;i++)
{


appendedFiles = new AudioInputStream(
new SequenceInputStream(clip0, clip1),
clip0.getFormat(),
clip0.getFrameLength() + clip1.getFrameLength());

AudioSystem.write(appendedFiles, AudioFileFormat.Type.WAVE, new File("D:\\wavAppended.wav"));

clip3 = AudioSystem.getAudioInputStream(new File("D:\\wavAppended.wav"));
clip0=clip3;
clip1 = AudioSystem.getAudioInputStream(new File(waveTabbbbb[i+2]));
System.out.println(waveTabbbbb[i+2]);
}



}
catch (Exception e)
{
e.printStackTrace();

}
}

6 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 mars 2012 à 07:57
Bonjour,

Si j'ai bien compris : si tu enlèves ces lignes :
clip3 = AudioSystem.getAudioInputStream(new File("D:\\wavAppended.wav"));
clip0=clip3;
clip1 = AudioSystem.getAudioInputStream(new File(waveTabbbbb[i+2]));
System.out.println(waveTabbbbb[i+2]); 


ca marche ?
0
issats1987 Messages postés 9 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 24 avril 2012
30 mars 2012 à 19:12
Oui ça marche bien mais seulement ça sert pour la concaténation de deux fichiers waves seulemeent alors que moi je veux concaténer plusieurs fichiers c pour cela que j'ai utilsé clip3 comme un audioinputstream intermédiaire pour faire le bouclage jusqua la fin de la concaténation de tous les waves

le prblm le son est devenu incompréhensible :((((
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 mars 2012 à 19:34
Ca ne répond pas à la question que je t'ai posée...
0
issats1987 Messages postés 9 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 24 avril 2012
31 mars 2012 à 02:26
Si j'ai bien compri ta question
je peux dire que si j'enlève ces ligne de code oui le code fonctionne correctement
mais ça ne répond pas à mes besoins :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
31 mars 2012 à 08:13
Tu ne fermes jamais tes flux en appelant la méthode close. Le problème vient peut être de là.

AudioSystem.write(appendedFiles, AudioFileFormat.Type.WAVE, new File("D:\\wavAppended.wav")); 
appendedFiles.close();
clip0.close();
clip1.close();
0
issats1987 Messages postés 9 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 24 avril 2012
31 mars 2012 à 20:16
Malheureusement jai pas pu résoudre le problème
je sais pas quoi faire :(((
voila je me bloque :'(
0
Rejoignez-nous