Я записываю звук в файл wav, а также передаю его на динамики (c++
, vs2010
, win7
). когда я слышу это в динамиках, я слышу чистый звук, но когда я записываю его в файл wav, к звуку добавляется странный тикающий/электрический шум, я пытаюсь открыть файл, используя смелость, и я ясно вижу, что есть пик каждые 0,05 сек. я не знаю, откуда добавился шум, вы можете мне помочь?
я добавил запись в файл из моего кода:
writeWav(char *filename,short *data)
{
FILE *wav;
wav = fopen(filename,"ab+");
for(int i=0;i<1024;i++)
{
writeLE(data[i],2,wav);
}
fclose(wav);
}
void writeLE(short data,int nBytes,FILE *wav) //write in little-endian
{
unsigned buf;
while(nBytes > 0)
{
buf = word & 0xff;
fwrite(&buf,1,1,wav);
nBytes--;
word >>= 8;
}
}
функция writeWav
вызывается каждый раз при получении пакета (размер = 1024).