1,彻底解决总时间显示错误问题,rushon注意了,计算方法应该是TotalTime=wHead.fileSize/wHead.nSamplePerSec;而你写作TotalTime=wHead.dataSize/wHead.nSamplePerSec;所以老显示几百分钟========================================================wHead.fileSize 是文件的总长度-4wHead.dataSize 是数据的长度我在测试别的文件都没有问题,呵呵,可能是你的那个录音软件扰的祸。不过改了也好。
2,修正单词拼写错误(rushon你好像没改过来噢)确实是,我是在上班的时间改的。有点着急出新版本,谢谢你的矫正
3,printf("Press < + - > to Volume contorl <P> to Pause Other KEY to stop\n"

;这句话很重要,怎么掉了?我加上去了。========================================确实是忘了。呵呵。
作了全面测试,存在以下问题:
声道问题解决得很好,位数问题还可以,只是8位时声音变小了。==============================因为8位数据的值肯定比16位的要小。我已经把这个值×16了,可以再修正,因为过大会失真。频率问题其实还很大,低于22k时,真的像是嘶哑者喉咙在叫。甚至将音量减为0时,还有噪音。这个噪声我也找不到原因到目前。因为我现在找不到解决降低播放频率的办法,所以只能把现在的数据取两次然后按照48000来播放。不知道怎么会有噪声。再草造我原来解决单声道的办法是将同样的数据送到两个声道,使用的是w_mixing函数而不是w_mixing_stereo,不知rushon是怎么做的,是不是软件插值?==========================我跟你的办法是一样的。只不把我是再取数据的时候就送好了我水平低,看不太懂。好像你全都用的w_mixing_stereo函数。=============你太谦虚了,其实没有那么高深了,
希望rushon再接再厉,解决低频时的问题。===================最后谢谢你的参与