DarkKnight125
Там не плохо бы было добавить условие проверки, чтобы сумма всех эхо не вышла за пределы возможно допустимых значений.
Но от этого не будет толку до тех пор пока мы будем прибавлять сразу в буфер. Нужно ввести какую-то переменную.
Например:
C++:
for (int i = 0; i<dwDataSize; i++) {
signed long sum;
sum = pData[i];
sum += pData[i + int(0.5*WaveFormat.nAvgBytesPerSec)];
sum += pData[i + int(1.0*WaveFormat.nAvgBytesPerSec)];
pDataEcho[i] = (sum > 32767 ? 32767 : sum < -32768 ? -32768 : sum);
}
Это не рабочий кусок кода! Это пример того что я имею в виду! Весь смысл в последней строке.
DarkKnight125 для твоей реализации он не подойдет, т.к. ты считаешь все эхо за один прием. Придется немного менять код.
Добавлено: DarkKnight125
И еще не совсем понял, ты оперируешь байтами, у тебя wav-ка 8-битная? Если да то вопросов нет)) В целом пример очень наглядный)