我有以下创建的音频剪辑。现在,我想编辑此剪辑中的音频样本。如何在此剪辑之间读取和写入音频样本?

    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/

10-12 14:25