AudioInputStream 转 base64

AudioInputStream to base64

我正在使用一些代码从 HTTP GET 请求中读取一些音频文件并将它们混合起来。我最终得到一个 AudioInputStream。如果我用下面的代码将它写入文件(aisAudioInputStream),文件创建成功,如果我尝试读取它 javascript 我可以获得 base64 的文件没有问题。

AudioSystem.write(
      ais
      ,AudioFileFormat.Type.WAVE
      ,new File("test.wav"));

但我需要做的是用 AudioInputStream 提取字节数组(并将其转换为 base64 以将其发送到代码的其他部分。我无法保存文件到磁盘,我需要从应用程序内存中执行此操作

设法通过将其写入 ByteArrayOutputStream 然后将字节数组转换为 base64

baos = new ByteArrayOutputStream();

AudioSystem.write(
       ais
       ,AudioFileFormat.Type.WAVE
       ,baos);

audioInByteArray = baos.toByteArray();