熟话说:没有什么比研究源代码本身更好的了。
所以这里不啰说了,直接上代码了。
【说明】
采集音频用的是QAudioInput
播放音频用SDL,
不用QAudioOutput是因为QAudioOutput播放声音必须是IO
他需要先打开,然后才能播放,打开的过程需要时间,所以不流畅。
【bug】
播放的时候依然会有一些杂音,暂时无法解决了,以后再解决。
【2017-06-09更新】
这里需要纠正一个事,上面提到QAudioOutput只能播放文件,事实上并非如此,当初Qt用的不熟,以为QIodevice就是文件,可以自己写个类继承QIodevice然后重载readData函数,在这个函数里面提供音频数据,这样就可以用Qt来播放音频数据流了,具体参考Qt官方例子里面的audiooutput。
这样就可以解决杂音问题了。