目录

  • 背景
  • 解决方案
  • 功能实现
  • 使用流程
  • 预览
  • 思路
  • 待实现的功能
  • 已测试设备
  • 源代码

背景

微信语音/视频开会,一遍听不清楚 ?
和客户微信语音沟通过后又忘记重点 ?
保留重要的人的语音音频
懒得用另外的设备录音?

解决方案

既然微信没有保存语音聊天的功能,自己加一个不就好了吗?!

本文结束!

功能实现

1、 依赖Xposed框架(非root环境),给微信添加自定义的功能;
2、 微信语音文件(.amr格式)生成到自定义目录

( 默认目录:SD卡/tencent/micromsg/用户/voice2)

3、 提供将.amr格式文件转换成.mp3的功能;

文末附源码

使用流程

  1. 安装一个Xposed框架(推荐Xpatch)
  2. 将微信和此模块添加到框架里
  3. 语音/视频通话时,建议开启免提,使对方的声音更清楚
  4. 正常使用微信即可生成文件,平时无感知

预览

  1. 点击左.amr文件可在右侧生成.mp3格式文件
  2. 点击mp3文件点击可直接播放
  3. 可在右上角设置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)}

待实现的功能

  1. 使用微信备注和联系人昵称替换随机文件名;
  2. 支持录音时长设置
  3. 音频文件生成延迟结束的问题
  4. 播放页优化

为什么会有bug呢……第一次做android,第一次用kotlin,两件快乐事情重合在一起。而这两份快乐,又给我带来更多的快乐。得到的,本该是一次通过、完美运行……但是,为什么,会变成这样呢……

已测试设备

备注:手机系统必须支持多个应用同时使用音频接口(如微信和微信小程序可以同时录音)

测试设备 结果
小米miui11、安卓10 支持
华为Emui9、安卓9 不支持
google pix、安卓10 支持
oppo、安卓10 不支持

源代码

一台手机如何在微信语音/视频通话时把声音录下来相关推荐

  1. 手机(小米10s)接收微信语音\视频通话时,蓝牙耳机(小米Air2s)无法使用,手机仍外放

    本人小米10s,蓝牙耳机Air2s,最近几天跟家里人.朋友打电话聊天的时候,蓝牙耳机始终连接不上,蓝牙权限也都修改成允许了,听音乐.看B站都可以,就是微信不行,然后网上找了一些解决方法,解决了所遇到的 ...

  2. 手机技巧:微信语音铃声怎么设置?

    微信语音铃声怎么设置?微信随着版本的升级更新,优化的越来越好,功能也越来越多,现在就连语音通话时的铃声也有了,设置之后就不再是单调的默认响铃提醒.但还有好多小伙伴不知道怎么设置,下面来看看这铃声是如何 ...

  3. 关于部分手机使用听筒模式播放音频时没有声音的问题

    这一个问题其实包含细节很多(涉及硬件和多媒体的细节问题都特别多),我只讲述我所遇见的问题,做一下记录 前提是如果使用扬声器播放声音的时候播放正常,而使用听筒模式下面播放声音却没有声音.这种情况仅有部分 ...

  4. html怎么能调用微信语音,华为微信的语音通话怎么录音

    在用手机打电话时,如果我们想保留通话内容,会启用录音功能将其录制下来.现在很多人直接用微信进行语音通话,那华为微信的语音通话怎么录音? 华为微信的语音通话怎么录音? 以荣耀20s MagicUI2.1 ...

  5. python发微信语音没声音怎么回事_苹果手机微信语音没声音怎么回事?

    苹果手机微信语音没声音怎么回事?有些朋友在苹果手机上面使用微信语音过程中,可能会遇到没有声音问题,那么苹果手机微信语音没声音怎么回事?具体原因主要分为软件问题和硬件问题,那么苹果手机微信语音没声音该怎 ...

  6. 微信语音麦克风静音_微信正在语音通话的时候我按了静音,然后用手机看视频对方能听见吗?...

    展开全部 这种情况对方是听不到的,送话器和扬声器都在被微信暂e68a84e8a2ad3231313335323631343130323136353331333433643733用. 语音通话是通过语音 ...

  7. 电脑通过 adb 控制安卓手机(1台或多台)自动加微信

    最近做了个需求,从电脑上通过数据线控制手机打电话和自动添加微信好友.查找一番,很快有了方向,那就是通过 adb工具,即Android Debug Bridge(安卓调试桥) tools.它就是一个命令 ...

  8. 手机微信语音批量转文字 使用百度语音识别

    如果你没有在 cnblog 作者为 carr0t2 中看到此文章,建议访问 原网页以获取python基础教程更好的排版,图片体验 如果想直接使用,可访问 https://github.com/carr ...

  9. 在微信的视频通话中将语音转成文字并显示在通话界面中,可以使用语音识别技术,将语音转换成文本,再通过编程技巧将文本显示在通话界面中。实现方法...

    在微信的视频通话中将语音转成文字并显示在通话界面中,可以使用以下步骤进行实现: 使用语音识别技术将语音转换成文本.这可以使用现有的语音识别API,如百度语音识别API等. 通过编程技巧将文本显示在通话 ...

最新文章

  1. 计算机加电后操作系统启动过程
  2. 解析json,是还是不是,
  3. Unity2D游戏开发基础教程1.2 项目、资源和场景
  4. 计算机组成原理:总线
  5. 性味归经与功能的脚本(超过四元素)
  6. variable与get_variable
  7. C++描述杭电OJ 2011.多项式求和 ||
  8. Python--print用法汇总
  9. cadence 常见pcb电阻_高速PCB培训手记
  10. 开始VC6学习之旅3
  11. 基于粒子群和麻雀搜索的LMS自适应滤波算法 - 附代码
  12. java实现二分查找
  13. 详解 box-shadow
  14. [计算机网络]-网络层-1
  15. Android Studio编译错误:Suggestion: use tools:overrideLibrary=xxx.xxx.xxx to force usage
  16. 【CSS 书写模式 (Writing modes )】
  17. 重磅!阿里版本【ChatGPT】开放测评!
  18. 冲击红队第一天 - Web安全介绍与基础入门
  19. 程序员提升码字代码速度网站
  20. 智能回收机、垃圾分拣机器人 垃圾回收这是技术活儿

热门文章

  1. [二分] WYF快速幂魔改版
  2. 什么是数据库的ACID测试?
  3. 第一章——程序数据集散地:数据库
  4. 局域网工具LanSee
  5. PS精讲学习笔记(5)
  6. AutoJs学习-堆堆乐自动
  7. Rational Ratio
  8. HR如何快速提升工作效率?
  9. 告诉你C盘里的每个文件夹都是干什么用的!
  10. Readyfor4GB 增大win7可使用内存的大小