【发布时间】:2015-03-30 16:49:02
【问题描述】:
我在阅读 wav 时遇到了一些问题。 我必须为每个样本读取一个 wav 文件样本。
为此,我首先尝试打印我的 128 个第一批样本,看看我是否有好的值(我知道它们是什么)。为此:
private int bytesToInt(byte[] fenetre, int debut, int nbByte) {
int res = 0;
for (int i = 0; i < nbByte; i++) {
res <<= 8;
res += fenetre[debut + i];
}
return res;
}
public void afficherPremiereFenetre() throws IOException {
int tailleFenetre = 128;
int nbBytePerSample = au.getFormat().getFrameSize();
int nbBytePerFrame = tailleFenetre * nbBytePerSample;
byte[] fenetre = new byte[nbBytePerFrame];
au.read(fenetre, 0, nbBytePerFrame);
for (int i = 0; i < nbBytePerFrame; i += nbBytePerSample) {
System.out
.println((double) bytesToInt(fenetre, i, nbBytePerSample));
}
}
所以我的问题是:如何真正将我的 byte[] 帧转换为双倍?
【问题讨论】:
-
将 byte[] 转换为 double[]:stackoverflow.com/questions/2905556/…
标签: java casting double bytearray