Типизированные массивы основаны на буферах массива , размер которых не может быть изменен динамически, поэтому запись за конец массива или использование push()
невозможны.
Одним из способов достижения желаемого результата является выделение нового Float32Array
, достаточно большого для размещения обоих массивов, и выполнения оптимизированной копии:
function Float32Concat(first, second)
{
var firstLength = first.length,
result = new Float32Array(firstLength + second.length);
result.set(first);
result.set(second, firstLength);
return result;
}
Это позволит вам написать:
buffer = Float32Concat(buffer, event.frameBuffer);