1. 程式人生 > >Qt + SDL實現的實時錄音並播放的程式,類似KTV唱歌

Qt + SDL實現的實時錄音並播放的程式,類似KTV唱歌

熟話說:沒有什麼比研究原始碼本身更好的了。

所以這裡不囉說了,直接上程式碼了。

【說明】

採集音訊用的是QAudioInput

播放音訊用SDL,

不用QAudioOutput是因為QAudioOutput播放聲音必須是IO
他需要先開啟,然後才能播放,開啟的過程需要時間,所以不流暢。

【bug】

播放的時候依然會有一些雜音,暫時無法解決了,以後再解決。

【2017-06-09更新】

這裡需要糾正一個事,上面提到QAudioOutput只能播放檔案,事實上並非如此,當初Qt用的不熟,以為QIodevice就是檔案,可以自己寫個類繼承QIodevice然後過載readData函式,在這個函式裡面提供音訊資料,這樣就可以用Qt來播放音訊資料流了,具體參考Qt官方例子裡面的audiooutput。

這樣就可以解決雜音問題了。