-1

我正在尝试创建一个二维数组,我需要一个八位字节数组,因为我正在显示音频波形。但是,我在八位字节数组 [t] 和十六位字节数组 [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。所以我的猜测是你在某个时候超过了八位字节数组的大小。您也没有在 t 的第二个增量中检查 t 是否超过了八位字节数组的大小。

但除非您发布更多详细信息,例如异常、位置、示例输入数据等。很难说。还发布更多代码。

于 2013-06-06T16:00:53.463 回答