【发布时间】:2019-08-02 16:53:32
【问题描述】:
我想知道 wav 音频文件的增益/分贝和其他可能的参数。但是 Clip.getLevel() 方法总是以 -0.1 的值返回增益。
public void prepareAudio() {
try {
Line.Info linfo = new Line.Info(Clip.class);
Line line = AudioSystem.getLine(linfo);
clip = (Clip) line;
clip.addLineListener(this);
AudioInputStream ais = AudioSystem.getAudioInputStream(file);
clip.open(ais);
clip.start();
do {
Thread.sleep(300);
} while (clip.isActive());
clip.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void update(LineEvent event) {
LineEvent.Type type = event.getType();
if (type == LineEvent.Type.OPEN) {
System.out.println("OPEN");
} else if (type == LineEvent.Type.CLOSE) {
System.out.println("CLOSE");
} else if (type == LineEvent.Type.START) {
System.out.println("START");
while (clip.isActive()) {
System.out.println(clip.getLevel()); // get gain
}
} else if (type == LineEvent.Type.STOP) {
System.out.println("STOP");
clip.close();
}
}
}
【问题讨论】:
-
您必须放弃剪辑。好吗?
标签: java audio sampling javasound