欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

hz和響度怎么獲取Java

錢諍諍2年前7瀏覽0評論

在Java中,我們可以使用工具類來獲取hz和響度的數值。

public class AudioUtils {
public static double getSampleRate(AudioInputStream audioInputStream) {
AudioFormat format = audioInputStream.getFormat();
return format.getSampleRate();
}
public static double getDecibelLevel(byte[] bytes) {
short[] shorts = toShortArray(bytes);
double sum = 0;
for (short s : shorts) {
sum += s * s;
}
double rms = Math.sqrt(sum / shorts.length);
double dB = 20 * Math.log10(rms);
return dB;
}
private static short[] toShortArray(byte[] bytes) {
short[] shorts = new short[bytes.length / 2];
ByteBuffer.wrap(bytes).order(ByteOrder.LITTLE_ENDIAN).asShortBuffer().get(shorts);
return shorts;
}
}

上述代碼中,getSampleRate()函數使用AudioInputStream類獲取音頻輸入流的格式,并返回采樣率。

getDecibelLevel()函數先將byte數組轉換成short數組,并使用RMS計算出音頻信號的平均功率。最后再使用dB計算出音量(分貝)。

總的來說,使用Java獲取hz和響度的數值需要使用AudioInputStream類和一些計算方法。以上的代碼可以作為一個參考實現。