2012-01-20 119 views
0

我有一个由以下内容创建的音频剪辑。现在我想编辑此剪辑中的音频样本。如何读取和写入此剪辑的音频采样?从javax.sound.sampled.Clip检索音频样本

AudioInputStream sound = AudioSystem.getAudioInputStream(soundFile); 
    DataLine.Info info = new DataLine.Info(Clip.class, sound.getFormat()); 
    clip = (Clip) AudioSystem.getLine(info); 
    clip.open(sound); 

回答

1

Clip是用于播放声音的一个方便的类,不用于任何东西更复杂的(所以它不会提供AudioInputStream作进一步处理)。

在传递到Clip之前,需要直接从AudioInputStream获取音频帧。在那个阶段,将改变后的帧写入ByteArrayOutputStream包装的AudioOutputStream。然后使用BAOS建立一个新的,改变的,AudioInputStream

听起来很复杂吗?即使在触及改变音频字节之前。留给读者阅读。 ;)