我正在尝试创建一个二维数组,我需要一个8位字节数组,因为我正在显示音频波形。但是我继续在eightBitByteArray [t]和16BitByteArray [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;
答案 0 :(得分:0)
您不会在任何地方将t的值重置为0。所以我的猜测是你在某些时候超过了8BitByteArray的大小。你也没有检查在t的第二个增量中是否超过了eightBitByteArray的大小。
但除非你发布更多细节,例如异常,位置,样本输入数据等。很难说。还要发布更多代码。