Java で WAV ファイルを操作して波形を作成しましたが、16 ビット ファイルの波形しか表示できません。サンプル フレーム用に 1 つのループを作成し、チャンネル用に別のループを作成して、各チャンネルの波形を作成できるようにします。
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);
前もって感謝します!