public void run(){
AudioInputStream audioInputStream= new AudioInputStream(pis,audioFormat,samlpesCount);
try {
AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, file);
} catch (Exception e) {
e.printStackTrace();
} finally{
try {
pis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
pis
是PipedInputStream
,通过我发送带有数据的字节数组。这样,我只能保存1个字节的数据数组。它不等待下一个数据。
你能给我一些建议吗?
最佳答案
您可以像这样使用WaveFileWriter:
InputStream in = ...;
OutputStream out = ...;
AudioInputStream in = AudioSystem.getAudioInputStream(in);
WaveFileWriter writer = new WaveFileWriter();
writer.write(in, AudioFileFormat.Type.WAVE, outStream);