0

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);

前もって感謝します!

4

0 に答える 0