5
我在windows中編寫了一個程序,它將播放通過stdin發送給它的二進制音頻,我稱之爲aplay(就像linux程序)。然後我寫了一個單獨的程序如下在二進制模式下的Windows管道
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);
}
出於某種原因,管道似乎並沒有在二進制模式下工作,因爲音頻出來全亂了。如果我改變我的aplay以在文本模式下自行打開波形文件,它聽起來與通過管道執行時相同,如果我以二進制模式打開波形文件,它將完美播放。有誰知道我該如何解決這個問題?