如何根据剩余内存空间计算可录音时长
我在wince操作系统中做录音机程序的开发,现在的需求是需要根据剩余内存计算出还能录多长时间,其中还可以设置采样率分别为128kbps、64kbps、32kbps,通过选择不同的采样率可以重新计算剩余可录时长。我用的是WAVEFORMATEX结构体,
WAVEFORMATEX waveform;
通过设定
waveform.nSamplesPerSec=64000;
waveform.nAvgBytesPerSec=64000;
来计算每秒录音文件大小,再将剩余内存空间除以这个值换算成时分秒的时间,但是这样算出来的值误差极大,例如录音时间很短时候,剩余可录时长一直不变。
请求各位大侠帮忙,有没有一种精确计算时间的方法,需要精确到秒。
[解决办法]
Flash你至少要多留个10M以上出来给系统用,很多临时文件有的是保存在flash上的,很短的时候,剩余刻录长度的计算不变,估计是你应用软件的问题
[解决办法]
128kbps、64kbps、32kbps
kbps就是每秒多少kbits
剩余空间(换算成kB)/(kpbs*8)就是