我正在使用 Java 中的 WAV 文件并创建了一个波形,但它只能显示来自 16 位文件的波形。我为样本帧创建一个循环,为通道创建另一个循环,允许为每个通道创建波形。
for (int indexNumSampleFrames = 0; indexNumSampleFrames < intNumSampleFrames; indexNumSampleFrames++) {
for (int indexNumChannels = 0; indexNumChannels < intNumChannels; indexNumChannels++) {
long lgnAmplitude = 0;
lgnAmplitude = (short) ( arrayData[intPointer] & 0xff) |
(short) ((arrayData[intPointer + 1] & 0xff) << 8);
intPointer += intBytesPerSample;
matrixAmplitudes[indexNumChannels][intSampleIndex] = lgnAmplitude;
}
intSampleIndex++;
}
我正在努力创建 24 位和 32 位的波形......我试图找到任何解决方案但我找不到,我还尝试了以下代码但没有成功。
lgnAmplitude = (long) ( arrayData[intPointer] & 0xff) |
(long) ((arrayData[intPointer + 1] & 0xff) << 8) |
(long) ((arrayData[intPointer + 2] & 0xff) << 16);
提前致谢!