Java 音频输入流到缓冲区

Java 音频输入流到缓冲区,java,Java,我正在开发一个web应用程序,其中我使用麦克风录制声音。录制后,我可以将录制的文件上载到服务器。请参见下面的代码: // Get the input stream InputStream is = request.getInputStream(); InputStream bufferedIn = new BufferedInputStream(is); AudioInputStream ais =

我正在开发一个web应用程序,其中我使用麦克风录制声音。录制后,我可以将录制的文件上载到服务器。请参见下面的代码:

            // Get the input stream
            InputStream is = request.getInputStream();
            InputStream bufferedIn = new BufferedInputStream(is);
            AudioInputStream ais = AudioSystem.getAudioInputStream(bufferedIn);

            // Declare the new format to convert to
            AudioFormat audioFormat =  new AudioFormat(sampleRate, sampleSizeInBits, channels, signed, bigEndian);

            // Convert the format and return the new audio input stream
            ais = AudioSystem.getAudioInputStream(audioFormat, ais);
现在,在这个转换之后,我想把音频数据从ais保存到一个缓冲区,然后上传到DB


我该怎么做?谢谢!!:)

AudioInputStream
扩展了
InputStream
,因此您可以直接使用它存储到数据库中。使用JDBC时,您可以使用:

ais = AudioSystem.getAudioInputStream(audioFormat, ais);
PreparedStatement prep = conn.prepareStatement("insert into data values(?, ?)");
prep.setInt(1, 1);
prep.setBinaryStream(2, ais);
请注意,不带长度参数的
setBinaryStream
仅在Java 6及更高版本中可用。有些数据库可能不支持它