Я пытаюсь воспроизвести звук с одной стороны динамика, перезаписав пару альтернативных байтов (2 байта) нулями.Я проверил в редакторе HEX, и пары альтернативных байтов имеют повторение.
Я сделал небольшую программу, чтобы сделать то же самое.Тем не менее, это не работает.Можете ли вы указать, что я делаю здесь не так?
int main()
{
FILE *file, *fileWrite;
unsigned char *buffer;
unsigned long fileLen;
int n;
file = fopen("sound.dat", "rb");
fileWrite = fopen("sound1.dat", "w+");
// Get the File Length
//Get file length
fseek(file, 0, SEEK_END);
fileLen=ftell(file);
fseek(file, 0, SEEK_SET);
buffer = (unsigned char *)malloc(fileLen+1);
n = fread(buffer, fileLen, 1, file);
printf("%s\n", &buffer);
int i;
for(i = 0 ;i < fileLen; i = i + 4)
{
buffer[i+2] = '\0';
buffer[i+3] = '\0';
// printf("%.2X %.2X %.2X %.2X \n", (int)buffer[i],(int)buffer[i+1], (int)buffer[i+2],(int)buffer[i+3]);
}
n = fwrite(buffer, fileLen, 1, fileWrite);
fclose(file);
fclose(fileWrite);
}
ОБНОВЛЕНИЕ: если шестнадцатеричное значение
4F D0 4F D0 FF 05 FF 05
я хочу сделать это
4F D0 00 00 FF 05 00 00
решено !!!
Может кто-нибудь помочь мне сthis: Audio File: Воспроизведение данных только через один динамик?