個(gè)把月之前我做了一款PC端錄音機(jī)軟件,主要是因?yàn)閣indows自帶的錄音機(jī)很拉跨,無法同時(shí)錄mic和聲卡(也就是無法同時(shí)錄話筒聲音和對(duì)方說話的聲音,雖然可以通過混音器解決,但一般人很難設(shè)置)。
由于上述問題,所以就無法輕松實(shí)現(xiàn)微信或QQ來電通話錄音。我開發(fā)的這個(gè)錄音機(jī)就是解決這個(gè)問題的,用了幾天沒啥問題,但是另一個(gè)問題又浮出水面——
來電鈴聲響起,才手忙腳亂去找錄音軟件,啟動(dòng)、開始錄音,有時(shí)候慌亂之中還忘了錄音。所以:使用體驗(yàn)非常不好……
我希望:微信來電響鈴的時(shí)候,自動(dòng)把錄音機(jī)也彈出來,實(shí)現(xiàn)一鍵接聽、一鍵錄音,這樣的話使用體驗(yàn)會(huì)大大增強(qiáng)。
這么多年我一直做web開發(fā),對(duì)桌面開發(fā)經(jīng)驗(yàn)還是不足,對(duì)上述問題一直沒有思路。直到今天在頭條遇到一個(gè)四川的網(wǎng)友,給我留言,指了一個(gè)方向,才算是真正地把問題解決了,效果很好,我把解決方案寫成文章,希望幫助到后來的朋友——
一言蔽之:通過查詢windows窗體句柄來確認(rèn)是否來電。
具體做法:
1、下載微軟官方出品的Spy++工具,這個(gè)工具可以實(shí)時(shí)獲取windows當(dāng)前運(yùn)行的所有程序的句柄、窗體名、類名、進(jìn)程等關(guān)鍵信息,如下圖:
2、啟動(dòng)這個(gè)工具后,然后撥通微信通話,等來電鈴聲響起“接聽對(duì)話框”出現(xiàn)的時(shí)候,Spy軟件就會(huì)出現(xiàn)這個(gè)對(duì)話框的窗體信息。
3、在錄音機(jī)程序里創(chuàng)建一個(gè)timer,每秒鐘查詢一下是否有來電對(duì)話框,【有】則觸發(fā)顯示錄音機(jī)窗體,【無】則在通知欄保持靜默。
代碼片段
來電時(shí) 錄音機(jī)彈出的實(shí)際效果
程序即方法,方法知道了實(shí)現(xiàn)起來就十幾分鐘的事兒,希望這篇文章的解題思路能幫到后面的朋友。
擴(kuò)展閱讀:
關(guān)于錄音機(jī)軟件本身實(shí)現(xiàn)的文章,核心知識(shí)點(diǎn):同時(shí)錄Mic聲音和聲卡聲音,然后通過ffmpeg進(jìn)行音軌合并。






