尝试使用 Java 播放声音时遇到问题;如果我使用
AudioInputStream soundIn = AudioSystem.getAudioInputStream(new File("./sound.wav"));
要获取 AudioInputStream,它可以正常工作并且文件可以正确播放。但是,如果我使用
AudioInputStream soundIn = AudioSystem.getAudioInputStream(new BufferedInputStream(new FileInputStream("./sound.wav")));
我明白了
javax.sound.sampled.UnsupportedAudioFileException: could not get audio input stream from input stream
我想要做的是播放我从麦克风录制的音频,并将它保存为内存中字节数组中的 WAV 文件,但我无法播放它。但是,如果我将它保存到文件并直接使用 File 对象,它就会播放。但是,如果我使用任何类型的 InputStream,它会因该异常而失败,包括当我使用此代码时:
AudioInputStream soundIn = AudioSystem.getAudioInputStream(new BufferedInputStream(new ByteArrayInputStream(recorder.getLastRecording())));
其中 recorder.getLastRecording() 返回一个字节数组。有任何想法吗?