我正在修改播放音频数据以将数据写入文件的应用程序。正如目前实现的那样,一个字节数组是动态填充的,并且每次填充时都会将此缓冲区的内容写入SourceDataLine。我基本上想要以指定的格式将该缓冲区写入文件。如何将SourceDataLine的内容写入文件?
我已经通过this official tutorial阅读并跨越这些代码剪断音频数据写入到文件中传来:但是在我的情况
File fileOut = new File(someNewPathName);
AudioFileFormat.Type fileType = fileFormat.getType();
if (AudioSystem.isFileTypeSupported(fileType,
audioInputStream)) {
AudioSystem.write(audioInputStream, fileType, fileOut);
}
我从我可以使用TargetDataLine的构造的AudioInputStream API文档看,我有一个SourceDataLine。我不知道如何从我的字节数组中获取数据到TargetDataLine中,因为它实现了read()方法而不是write()。在该的AudioInputStream的其他用途和其他文件把它当作从文件中读取的方式,所以我有点困惑是其与AudioSystem.write使用()。
那么,怎样才能我从SourceDataLine的获取数据,或从缓冲区直接进入TargetDataLine的或的AudioInputStream以便它可以写入到一个文件?
是你用什么解决办法吗?你是否能够在文件中写入播放/收听扬声器的内容? – 2013-10-02 08:19:27
@coding_idiot音频只是一个音调的顺序,所以我能够从一个音调发生器再现他们更容易比它们复制编程 – 2013-10-07 04:02:12