我有一个方法应该连接两个.wav声音文件。如果我有两个具有相同AudioFormat的文件,就可以正常工作。但是如果我使用两种不同格式的文件,其中一个文件听起来会非常糟糕。因此,我需要用以下格式连接两个.wav文件:
该方法的代码:
private static void concatenateTwoWaves(String fileName1, String fileName2) {
String wavFile1 = fileName1 + ".wav";
String wavFile2 = fileName2 + ".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("output.wav"));
} catch (Exception e) {
e.printStackTrace();
}
}发布于 2021-07-01 16:02:02
这两种格式中的一种必须首先转换为另一种。Oracle提供了专门讨论此主题的以下教程,并提供了示例:使用文件和格式转换器。
https://stackoverflow.com/questions/68186221
复制相似问题