我正在尝试为我写的一些音频处理软件添加一个功能。
我的软件已经从麦克风输入捕获声音,对其进行实时处理,并将结果发送到扬声器输出。(这已经是一个线程化的应用程序。)我一直在使用javax.sound.sampled.*并处理wav数据(将其转换为数字样本或从数字样本进行转换)。
我想添加一个功能,以保存原始输入和转换输出的会话与此软件到wav文件。而是用于创建新wav文件的签名(例如,WavFile.newWavFile(...)似乎想要提前知道它将接收多少帧数据。由于这些是不确定时间的实时会议,我没有办法事先知道这一信息。
我是不是遗漏了什么?除了保存数据或样本文件,然后对其进行后处理之外,还有什么方法可以解决这个问题吗?
发布于 2013-04-07 06:13:55
大多数音频文件写入器在写入输出流之前需要知道完整的文件大小。有一个名为Tritonus的开放源码项目,它是Java sound的一个实现,您可以尝试一下它的AudioOutputStream插件。
https://stackoverflow.com/questions/15855394
复制相似问题