У меня есть маленькая программа на C (play.c):
#include <stdio.h>
main() {
int t;
for (t=0; t<8000; t++) {
printf ("%c", t%256);
}
}
когда я перенаправляю вывод (в Linux):
./play > /dev/audio
звучит так, как я ожидаю. Но если я отформатирую вывод в printf
как int (%d
) вместо char, я получу другой звук (и неправильный, насколько мне говорят уши).
Почему это происходит? Разве одинаковые номера не отправляются на аудиоустройство?