用于24/32位WAV文件的波形

时间:2013-04-09 17:06:52

标签: java wav 32-bit waveform 24-bit

我正在使用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);

提前致谢!

0 个答案:

没有答案