个把月之前我做了一款PC端录音机软件,主要是因为windows自带的录音机很拉跨,无法同时录mic和声卡(也就是无法同时录话筒声音和对方说话的声音,虽然可以通过混音器解决,但一般人很难设置) 。
由于上述问题,所以就无法轻松实现微信或QQ来电通话录音 。我开发的这个录音机就是解决这个问题的,用了几天没啥问题,但是另一个问题又浮出水面——
来电铃声响起,才手忙脚乱去找录音软件,启动、开始录音,有时候慌乱之中还忘了录音 。所以:使用体验非常不好……
我希望:微信来电响铃的时候,自动把录音机也弹出来,实现一键接听、一键录音,这样的话使用体验会大大增强 。
这么多年我一直做web开发,对桌面开发经验还是不足,对上述问题一直没有思路 。直到今天在头条遇到一个四川的网友,给我留言,指了一个方向,才算是真正地把问题解决了,效果很好,我把解决方案写成文章,希望帮助到后来的朋友——
一言蔽之:通过查询windows窗体句柄来确认是否来电 。
具体做法:
【C#开发一款「微信录音机」 解决了一个困扰半个多月的问题】1、下载微软官方出品的Spy++工具,这个工具可以实时获取windows当前运行的所有程序的句柄、窗体名、类名、进程等关键信息,如下图:
文章插图
2、启动这个工具后,然后拨通微信通话,等来电铃声响起“接听对话框”出现的时候,Spy软件就会出现这个对话框的窗体信息 。
3、在录音机程序里创建一个timer,每秒钟查询一下是否有来电对话框,【有】则触发显示录音机窗体,【无】则在通知栏保持静默 。
文章插图
代码片段
文章插图
来电时 录音机弹出的实际效果
程序即方法,方法知道了实现起来就十几分钟的事儿,希望这篇文章的解题思路能帮到后面的朋友 。
扩展阅读:
关于录音机软件本身实现的文章,核心知识点:同时录Mic声音和声卡声音,然后通过ffmpeg进行音轨合并 。
推荐阅读
- 巨量引擎无需API开发连接MySQL,实现推广线索自动同步到数据库
- 游戏|《GTA6》开发无需过度加班 R星着手改善内部工作环境
- 5G|俄罗斯决定绕过5G直接开发6G网络:堪称神速!科普6G能有多快
- 男士发型|帅气男士发型有哪些?100多款送给你,赶快挑一款
- 一款简单的帽子的编织方法 怎样织帽子
- 小孩智力开发
- 双菇牛肉丸
- 开发者|C++之父评价“继承者”Carbon:规范不足、无法评价
- 金铭|吃「轻食」减肥,你需要注意这些才能瘦!4大类轻食都给你整理好了!
- 办公室|《无限世界》新服「时空之轮」即将开启,职业选择的小技巧