如何根据剩余内存空间计算可录音时长
我在wince操作系统中做录音机程序的开发,现在的需求是需要根据剩余内存计算出还能录多长时间,其中还可以设置采样率分别为128kbps、64kbps、32kbps,通过选择不同的采样率可以重新计算剩余可录时长。我用的是WAVEFORMATEX结构体,
WAVEFORMATEX waveform;
通过设定
waveform.nSamplesPerSec=64000;
waveform.nAvgBytesPerSec=64000;
来计算每秒录音文件大小,再将剩余内存空间除以这个值换算成时分秒的时间,但是这样算出来的值误差极大,例如录音时间很短时候,剩余可录时长一直不变。
请求各位大侠帮忙,有没有一种精确计算时间的方法,需要精确到秒。