java保存音频,文件保存音频数据
时间: 2023-11-24 14:16:49 浏览: 112
要保存音频数据,你可以使用Java的javax.sound.sampled包中的类。以下是一个简单的例子:
```java
import javax.sound.sampled.*;
public class AudioRecorder {
public static void main(String[] args) {
try {
// 获取音频格式
AudioFormat format = new AudioFormat(
AudioFormat.Encoding.PCM_SIGNED, // 编码
44100, // 采样率
16, // 采样位数
2, // 声道数
4, // 每帧字节数
44100, // 每秒帧数
false // 是否大端字节序
);
// 获取录音设备
TargetDataLine line = (TargetDataLine) AudioSystem.getLine(new DataLine.Info(TargetDataLine.class, format));
// 打开录音设备
line.open(format);
// 开始录音
line.start();
// 创建音频输入流
AudioInputStream ais = new AudioInputStream(line);
// 设置保存文件名
File file = new File("audio.wav");
// 开始保存
AudioSystem.write(ais, AudioFileFormat.Type.WAVE, file);
// 关闭输入流和录音设备
ais.close();
line.stop();
line.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这个例子中使用了javax.sound.sampled包中的TargetDataLine类来获取录音设备,开启录音,然后使用AudioInputStream类将录音数据转换为音频数据流,并使用AudioSystem类将其保存为.wav文件。
阅读全文