我正在使用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);
提前致谢!