-1

2 次元配列を作成しようとしていますが、オーディオ波形を表示しているため、8 ビットのバイト配列が必要です。ただし、eightBitByteArray[t] と sixteenBitByteArray[t] でエラーが発生し続けます。これを修正する方法について何か提案はありますか? また、ファイル名に置き換えてみましたが、うまくいかないようです。

    for (int t = 0; t < eightBitByteArray.length;) {
            for (int channel = 0; channel < numChannels; channel++) {
                int low = (int) eightBitByteArray[t];
                t++;
                int high = (int) eightBitByteArray[t];
                t++;
                int sample = getSixteenBitSample(high, low);
                toReturn[channel][sampleIndex] = sample;
4

1 に答える 1

0

t の値をどこにも 0 にリセットしません。だから私の推測では、あなたはある時点で EightBitByteArray のサイズを超えていると思います。また、t の 2 番目のインクリメントで t がeightBitByteArray のサイズを超えたかどうかもチェックしていません。

ただし、例外、場所、サンプル入力データなどの詳細を投稿しない限り. 言うのが難しい。また、いくつかのコードを投稿してください。

于 2013-06-06T16:00:53.463 に答える