清阳 2023-06-09 12:34 采纳率: 0%
浏览 9

VOICE_CALL也无法录音

在使用xposed拿到权限后,使用MediaRecorder.AudioSource.VOICE_CALL对微信视频聊天进行录音,结果录出来也没有任何声音,只有使用MediaRecorder.AudioSource.VOICE_DOWNLINK后才能录到自己的声音,请问现在双向录音规则改了吗?系统是MIUI13,已经root,api是30

系统本身的电话录音是双方都有声音的,所以按理说,是有办法可以录的

  • 写回答

1条回答 默认 最新

  • IT论之程序员 2023-06-10 11:04
    关注

    你说的对,原本系统的通话录音是可以录双方声音的。
    但是从Android 10开始,谷歌为了保护用户隐私,禁止应用直接调用AudioRecord API来捕获电话通话中的音频数据。所以你使用MediaRecorder.AudioSource.VOICE_CALL无法录到对方声音是正常的。
    具体来说,Android 10引入了一些限制:

    1. 不允许录制通话开始前和结束后的音频
    2. 只允许应用访问通话中用户自己说的话,而不能访问通话对方的语音
    3. 用户需要在每次通话开始时明确同意允许访问自己的语音,用户可以随时撤回此同意
      所以,要实现双向通话录音,有几个解决方案:
    4. 使用Android 9或以下的系统,这些系统不受上述限制
    5. 需用户同意,在通话开始时弹窗请求录音权限,如果用户同意则可以录音。但只能录用户自己的声音
    6. 利用Xposed等框架,hook系统API来实现双向录音。但这种方式存在一定风险,且在高版本系统可能不太稳定
    7. 其他一些非官方手段,如超级权限等,但同样存在一定风险
      所以总的来说,从Android 10开始,官方API已经没有直接的方式实现双向通话录音了。你需要权衡使用其他手段的风险,或者寻找替代方案。
    评论

报告相同问题?

问题事件

  • 创建了问题 6月9日

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制