<返回更多

C#开发一款「微信录音机」 解决了一个困扰半个多月的问题

2022-07-28    飞驰网
加入收藏

个把月之前我做了一款PC端录音机软件,主要是因为windows自带的录音机很拉跨,无法同时录mic和声卡(也就是无法同时录话筒声音和对方说话的声音,虽然可以通过混音器解决,但一般人很难设置)。

由于上述问题,所以就无法轻松实现微信或QQ来电通话录音。我开发的这个录音机就是解决这个问题的,用了几天没啥问题,但是另一个问题又浮出水面——

来电铃声响起,才手忙脚乱去找录音软件,启动、开始录音,有时候慌乱之中还忘了录音。所以:使用体验非常不好……

我希望:微信来电响铃的时候,自动把录音机也弹出来,实现一键接听、一键录音,这样的话使用体验会大大增强。

这么多年我一直做web开发,对桌面开发经验还是不足,对上述问题一直没有思路。直到今天在头条遇到一个四川的网友,给我留言,指了一个方向,才算是真正地把问题解决了,效果很好,我把解决方案写成文章,希望帮助到后来的朋友——

 

一言蔽之:通过查询windows窗体句柄来确认是否来电。

具体做法:

1、下载微软官方出品的Spy++工具,这个工具可以实时获取windows当前运行的所有程序的句柄、窗体名、类名、进程等关键信息,如下图:

 

2、启动这个工具后,然后拨通微信通话,等来电铃声响起“接听对话框”出现的时候,Spy软件就会出现这个对话框的窗体信息。

 

3、在录音机程序里创建一个timer,每秒钟查询一下是否有来电对话框,【有】则触发显示录音机窗体,【无】则在通知栏保持静默。

代码片段

 

来电时 录音机弹出的实际效果

 

程序即方法,方法知道了实现起来就十几分钟的事儿,希望这篇文章的解题思路能帮到后面的朋友。

 

扩展阅读:

关于录音机软件本身实现的文章,核心知识点:同时录Mic声音和声卡声音,然后通过ffmpeg进行音轨合并。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>