Qt中QAudioinput类最小采集20ms数据的问题
项目中需要提高语音通信的实时性,想的方法之一是将每个数据包尽量减小。
然而发现QAudioinput类,采集到的数据,无论如何设置,最小都是20ms。
在8k,16bit,单声道的pcm数据就是320字节,无法缩小。
于是想当然的以为是Qt是第三方库,说不定用VC能够做到更小。
于是又研究VC调用DirectSound,发现还是小不了太多。
再去查询,发现Qt4.6的更新说明中,有一条是提到了在Windows下qt media timer最小为20ms,
顺着这个思路找下去,发现微软提到过,window的时间精度(timer resolution)在10-16ms,据说是15.625ms。
明白了Qt应该是根据这个值设置为20ms。
这就扯到了操作系统的实时与非实时。Windows与Linux是非实时,Linux在2.6内核配置后能达到软实时,VXWorks能达到硬实时。
这是没经验的自己在摸索中走的弯路,发出来希望能提醒到和我一样对这方面没经验的人。
浙公网安备 33010602011771号