我正在开发一个网络应用程序,我正在使用flash plugin从我的麦克风录制声音。录制完成后,我可以将录制的文件上传到服务器。 Plz见下面的代码:
// 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保存到缓冲区并将其上传到数据库。
我该怎么做?谢谢!! :)
答案 0 :(得分:0)
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及更高版本。有些数据库可能不支持它。