一台手机如何在微信语音/视频通话时把声音录下来
目录
- 背景
- 解决方案
- 功能实现
- 使用流程
- 预览
- 思路
- 待实现的功能
- 已测试设备
- 源代码
背景
微信语音/视频开会,一遍听不清楚 ?
和客户微信语音沟通过后又忘记重点 ?
想保留和重要的人的语音音频?
懒得用另外的设备录音?
解决方案
既然微信没有保存语音聊天的功能,自己加一个不就好了吗?!
本文结束!
功能实现
1、 依赖Xposed框架(非root环境),给微信添加自定义的功能;
2、 微信语音文件(.amr格式)生成到自定义目录
( 默认目录:SD卡/tencent/micromsg/用户/voice2)
3、 提供将.amr格式文件转换成.mp3的功能;
文末附源码
使用流程
- 安装一个Xposed框架(推荐Xpatch)
- 将微信和此模块添加到框架里
- 语音/视频通话时,建议开启免提,使对方的声音更清楚
- 正常使用微信即可生成文件,平时无感知
预览
- 点击左.amr文件可在右侧生成.mp3格式文件
- 点击mp3文件点击可直接播放
- 可在右上角设置mp3输出文件路径
思路
//发起或接听语音视频通话时,调用微信音频方法object LogHook:IXLogHook{//直接从日志入手override fun onXLogWrite(level: String, tag: String, msg: String) {if(tag.contains("MicroMsg.Voip.VoipMgr")){if(msg.contains("onAccept")||msg.contains("on accept")){//接听if(Objects.ActivityParam!=null){val outClassCon=Classes.ClassInternal.getDeclaredConstructors()[0]val mContext=Objects.ActivityParam as Contextval mmContext=mContext.applicationContextval outClassIntence=outClassCon.newInstance(mmContext,false)val interClasseCon=Classes.ClassInternal.declaredClasses[0]val con=interClasseCon.getDeclaredConstructors()[0]con.setAccessible(true)val interClasseInstance=con.newInstance(outClassIntence)val methodGo= Classes.ClassInternal.getDeclaredMethod("go", C.String)val Amethodgo=methodGoAmethodgo.setAccessible(true)val success = Amethodgo.invoke(outClassIntence,"_pathGo_") as Booleanval methods= interClasseCon.getDeclaredMethod("run")val Amethod=methodsAmethod.setAccessible(true)Amethod.invoke(interClasseInstance)}if(msg=="finish"){//挂断if(Objects.ActivityParam!=null){val outClassCon=Classes.ClassInternal.getDeclaredConstructors()[0]val mContext=Objects.ActivityParam as Contextval mmContext=mContext.applicationContextval outClassIntence=outClassCon.newInstance(mmContext,false)val methods= Classes.ClassInternal.getDeclaredMethod("reset")val Amethod=methodsAmethod.setAccessible(true)Amethod.invoke(outClassIntence)}
待实现的功能
- 使用微信备注和联系人昵称替换随机文件名;
- 支持录音时长设置
- 音频文件生成延迟结束的问题
- 播放页优化
为什么会有bug呢……第一次做android,第一次用kotlin,两件快乐事情重合在一起。而这两份快乐,又给我带来更多的快乐。得到的,本该是一次通过、完美运行……但是,为什么,会变成这样呢……
已测试设备
备注:手机系统必须支持多个应用同时使用音频接口(如微信和微信小程序可以同时录音)
测试设备 | 结果 |
---|---|
小米miui11、安卓10 | 支持 |
华为Emui9、安卓9 | 不支持 |
google pix、安卓10 | 支持 |
oppo、安卓10 | 不支持 |
源代码
一台手机如何在微信语音/视频通话时把声音录下来相关推荐
- 手机(小米10s)接收微信语音\视频通话时,蓝牙耳机(小米Air2s)无法使用,手机仍外放
本人小米10s,蓝牙耳机Air2s,最近几天跟家里人.朋友打电话聊天的时候,蓝牙耳机始终连接不上,蓝牙权限也都修改成允许了,听音乐.看B站都可以,就是微信不行,然后网上找了一些解决方法,解决了所遇到的 ...
- 手机技巧:微信语音铃声怎么设置?
微信语音铃声怎么设置?微信随着版本的升级更新,优化的越来越好,功能也越来越多,现在就连语音通话时的铃声也有了,设置之后就不再是单调的默认响铃提醒.但还有好多小伙伴不知道怎么设置,下面来看看这铃声是如何 ...
- 关于部分手机使用听筒模式播放音频时没有声音的问题
这一个问题其实包含细节很多(涉及硬件和多媒体的细节问题都特别多),我只讲述我所遇见的问题,做一下记录 前提是如果使用扬声器播放声音的时候播放正常,而使用听筒模式下面播放声音却没有声音.这种情况仅有部分 ...
- html怎么能调用微信语音,华为微信的语音通话怎么录音
在用手机打电话时,如果我们想保留通话内容,会启用录音功能将其录制下来.现在很多人直接用微信进行语音通话,那华为微信的语音通话怎么录音? 华为微信的语音通话怎么录音? 以荣耀20s MagicUI2.1 ...
- python发微信语音没声音怎么回事_苹果手机微信语音没声音怎么回事?
苹果手机微信语音没声音怎么回事?有些朋友在苹果手机上面使用微信语音过程中,可能会遇到没有声音问题,那么苹果手机微信语音没声音怎么回事?具体原因主要分为软件问题和硬件问题,那么苹果手机微信语音没声音该怎 ...
- 微信语音麦克风静音_微信正在语音通话的时候我按了静音,然后用手机看视频对方能听见吗?...
展开全部 这种情况对方是听不到的,送话器和扬声器都在被微信暂e68a84e8a2ad3231313335323631343130323136353331333433643733用. 语音通话是通过语音 ...
- 电脑通过 adb 控制安卓手机(1台或多台)自动加微信
最近做了个需求,从电脑上通过数据线控制手机打电话和自动添加微信好友.查找一番,很快有了方向,那就是通过 adb工具,即Android Debug Bridge(安卓调试桥) tools.它就是一个命令 ...
- 手机微信语音批量转文字 使用百度语音识别
如果你没有在 cnblog 作者为 carr0t2 中看到此文章,建议访问 原网页以获取python基础教程更好的排版,图片体验 如果想直接使用,可访问 https://github.com/carr ...
- 在微信的视频通话中将语音转成文字并显示在通话界面中,可以使用语音识别技术,将语音转换成文本,再通过编程技巧将文本显示在通话界面中。实现方法...
在微信的视频通话中将语音转成文字并显示在通话界面中,可以使用以下步骤进行实现: 使用语音识别技术将语音转换成文本.这可以使用现有的语音识别API,如百度语音识别API等. 通过编程技巧将文本显示在通话 ...
最新文章
- 计算机加电后操作系统启动过程
- 解析json,是还是不是,
- Unity2D游戏开发基础教程1.2 项目、资源和场景
- 计算机组成原理:总线
- 性味归经与功能的脚本(超过四元素)
- variable与get_variable
- C++描述杭电OJ 2011.多项式求和 ||
- Python--print用法汇总
- cadence 常见pcb电阻_高速PCB培训手记
- 开始VC6学习之旅3
- 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码
- java实现二分查找
- 详解 box-shadow
- [计算机网络]-网络层-1
- Android Studio编译错误:Suggestion: use tools:overrideLibrary=xxx.xxx.xxx to force usage
- 【CSS 书写模式 (Writing modes )】
- 重磅!阿里版本【ChatGPT】开放测评!
- 冲击红队第一天 - Web安全介绍与基础入门
- 程序员提升码字代码速度网站
- 智能回收机、垃圾分拣机器人 垃圾回收这是技术活儿