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();
                }
            }

        }
pisPipedInputStream,通过我发送带有数据的字节数组。
这样,我只能保存1个字节的数据数组。它不等待下一个数据。
你能给我一些建议吗?

最佳答案

您可以像这样使用WaveFileWriter:

InputStream in = ...;
OutputStream out = ...;

AudioInputStream in = AudioSystem.getAudioInputStream(in);

WaveFileWriter writer = new WaveFileWriter();
writer.write(in, AudioFileFormat.Type.WAVE, outStream);

10-08 12:15