Qual è il modo più semplice per concatenare due file WAV in Java 1.6? (Frequenza pari e tutto, fantasia nulla.)Unisci due file WAV da Java?
(Questo è probabilmente sooo semplice, ma il mio Google-fu sembra debole su questo argomento oggi.)
Qual è il modo più semplice per concatenare due file WAV in Java 1.6? (Frequenza pari e tutto, fantasia nulla.)Unisci due file WAV da Java?
(Questo è probabilmente sooo semplice, ma il mio Google-fu sembra debole su questo argomento oggi.)
ecco il codice barebone:
import java.io.File;
import java.io.IOException;
import java.io.SequenceInputStream;
import javax.sound.sampled.AudioFileFormat;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
public class WavAppender {
public static void main(String[] args) {
String wavFile1 = "D:\\wav1.wav";
String wavFile2 = "D:\\wav2.wav";
try {
AudioInputStream clip1 = AudioSystem.getAudioInputStream(new File(wavFile1));
AudioInputStream clip2 = AudioSystem.getAudioInputStream(new File(wavFile2));
AudioInputStream appendedFiles =
new AudioInputStream(
new SequenceInputStream(clip1, clip2),
clip1.getFormat(),
clip1.getFrameLength() + clip2.getFrameLength());
AudioSystem.write(appendedFiles,
AudioFileFormat.Type.WAVE,
new File("D:\\wavAppended.wav"));
} catch (Exception e) {
e.printStackTrace();
}
}
}
Grazie! Doveva esserci un modo semplice. – krosenvold
Questo non funziona più perché Android non supporta più javax.sound.sampled. * Pacchetto. È il loro qualsiasi altro modo per farlo? –
caro Alex la domanda è About in java non per Android – dhams
L'intestazione WAV non deve essere essere troppo difficile da analizzare, e se Ho letto correttamente this header description, puoi semplicemente rimuovere i primi 44 byte dal secondo WAV e aggiungere semplicemente i byte al primo. Dopodiché, dovresti ovviamente modificare alcuni dei campi di intestazione del primo WAV in modo che contengano la nuova lunghezza corretta.
Supponendo che abbiano lo stesso bit-rate, frequenza di campionamento e abbiano lo stesso numero di canali. – dreamlax
Ovviamente, ma Krosenvold disse che lo erano. – schnaader
Ma devo davvero farlo da solo? Ci deve essere una soluzione più semplice ?? – krosenvold
vostra sfida anche se si verifica se i due file WAV non hanno lo stesso formato esatto nell'intestazione onda.
Se i formati delle onde sui due file non sono gli stessi, dovrai trovare un modo per trasmogrificarli in modo che corrispondano.
Ciò può comportare un transcodifica MP3 o altri tipi di transcodifica (se uno di essi è codificato con un codec MP3).
Beh, suppongo di essere fortunato a non doverlo considerare. – krosenvold
Imparo cos'è Google-fu +1 :) –