我有以下创建的音频剪辑。现在,我想编辑此剪辑中的音频样本。如何在此剪辑之间读取和写入音频样本?
AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile);
DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat());
clip = (Clip) AudioSystem.getLine(info);
clip.open(sound);
最佳答案
Clip
是用于播放声音的便捷类,不适用于更复杂的声音(因此它将不提供AudioInputStream
进行进一步处理)。
在将音频帧传递到AudioInputStream
之前,有必要直接从Clip
获取音频帧。在该阶段,将更改的帧写入包装在AudioOutputStream
中的ByteArrayOutputStream
中。然后使用BAOS建立一个新的,经过更改的AudioInputStream
。
听起来复杂吗?而且这甚至还没有涉及更改音频字节。留给读者练习。 ;)
关于java - 从javax.sound.sampled.Clip检索音频样本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8935528/