Après de longues recherches sur le sujet, j'ai atteint un mur de briques. Tout ce que je veux faire est d'ajouter une collection de fichiers .wav dans un tableau d'octets, l'un après l'autre, et de les sortir tous dans un fichier .wav nouvellement créé complet. J'extrais toutes les données .wav dans un tableau d'octets, en sautant l'en-tête .wav et en allant directement pour les données, puis quand il s'agit de l'écrire dans le fichier .wav nouvellement créé, je reçois une erreur comme: Error1: javax.sound .sampled.UnsupportedAudioFileException: n'a pas pu obtenir le flux d'entrée audio du flux d'entrée Error2: n'a pas pu obtenir le flux d'entrée audio du flux d'entréeConversion de Byte Array en fichier Wav
Le code est:
try
{
String path = "*********";
String path2 = path + "newFile.wav";
File filePath = new File(path);
File NewfilePath = new File(path2);
String [] folderContent = filePath.list();
int FileSize = 0;
for(int i = 0; i < folderContent.length; i++)
{
RandomAccessFile raf = new RandomAccessFile(path + folderContent[i], "r");
FileSize = FileSize + (int)raf.length();
}
byte[] FileBytes = new byte[FileSize];
for(int i = 0; i < folderContent.length; i++)
{
RandomAccessFile raf = new RandomAccessFile(path + folderContent[i], "r");
raf.skipBytes(44);
raf.read(FileBytes);
raf.close();
}
boolean success = NewfilePath.createNewFile();
InputStream byteArray = new ByteArrayInputStream(FileBytes);
AudioInputStream ais = AudioSystem.getAudioInputStream(byteArray);
AudioSystem.write(ais, Type.WAVE, NewfilePath);
}
Les fichiers audio doivent avoir tous un format (par exemple 22500 KHz, mono, 8 bits). Ils doivent également avoir le même codage (par exemple, loi a ou pcm). La classe AudioSystem fournit des moyens de convertir certains types de flux/formats. Regarde ça. –
Même s'ils avaient tous le même format, les concaténer ne fonctionnerait pas car les fichiers wav ont un en-tête ... et les enchaîner feraient apparaître les en-têtes de manière inattendue au milieu d'un fichier. – Powerlord
Il a dit qu'il a sauté l'en-tête. – AHungerArtist