Вот небольшой пример, чтобы показать основы. Давайте возьмем меньший массив с четырьмя значениями:
byte[] tempBuffer = new byte[4];
tempBuffer[0] = 10;
tempBuffer[1] = 10;
tempBuffer[2] = 10;
tempBuffer[3] = 10;
tempBuffer.length
- размер массива (4 слота), индекс первого значения в массиве 0
, индекс последнего - (tempBuffer.length-1) = 3
.
Теперь цикл:
for (int i = 0; i < tempBuffer.length; i++) {
// do something
}
Это зациклится 4 раза, а i
будет увеличиваться на 1 на каждой итерации. Таким образом, в первой итерации i равен 0
, в последней - i
имеет значение od 3
.
wavPanel.addAudioByte(tempBuffer[i]);
Это последнее «волшебство Ява». tempBuffer [i] - это значение i-го слота в массиве, поэтому, если i
равно 0
, tempBuffer[0]
равно 10
(согласно нашей инициализации). И это значение передается методу wavPanel.addAudioByte(byte b)
.