Каналы Windows в двоичном режиме

Я написал программу в Windows, которая будет воспроизводить двоичный звук, отправленный на нее через стандартный ввод, я назвал ее aplay (например, программа linux). Затем я написал отдельную программу следующим образом

FILE * f = popen("aplay.exe", "wb");
FILE * song = fopen("C:/Users/Ray/Dropbox/DJ Automica 2/Debug/raymonster 5.wav", "rb");
while(1)
{
    byte buff[4096];
    fread(buff, 4, 1024, song);
    fwrite(buff, 4, 1024, f);
}

По какой-то причине канал, похоже, не работает в двоичном режиме, потому что звук выходит совершенно испорченным. чтобы открыть волновой файл сам по себе в текстовом режиме, он звучит так же, как когда я делаю это через конвейер, если я открываю волновой файл в двоичном режиме, он воспроизводится отлично. Кто-нибудь знает, как я могу это исправить?

5
задан Ramónster 28 October 2011 в 02:06
поделиться