V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ashore
V2EX  ›  程序员

在安卓系统中如何在通话的时候进行录音?

  •  
  •   Ashore · 2023-04-26 13:22:21 +08:00 · 5526 次点击
    这是一个创建于 582 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开发这个功能不是为了做什么流氓软件,是给公司的电话销售用的。

    目前是用 uniapp 开发,在安卓 9(荣耀 v10)上该功能能够正常使用,在安卓 13 ( coloros13 )上这个功能就失效了。
    录音部分用到的代码来自`https://learnku.com/articles/73959`。
    请问实现这个功能还有什么其他办法吗?
    还有就是原生安卓开发能够实现这样的功能吗?
    第 1 条附言  ·  2023-04-26 18:40:28 +08:00
    uniapp 真是依托答辩,有些问题根本搜不到,在官方社区搜到了又没解答的。而且最神奇的事,调试的时候能调用打电话的权限,本地打包以后所有的权限都没有了。
    获取通话记录只能是正式包才能获取。
    34 条回复    2023-05-29 16:19:38 +08:00
    yukiww233
        1
    yukiww233  
       2023-04-26 13:30:07 +08:00
    不能;而且国产 ui 都自带通话录音了
    Ashore
        2
    Ashore  
    OP
       2023-04-26 13:48:10 +08:00
    @yukiww233 这个我也知道。。可是老板就是想让做个这个功能。。监听打电话的内容
    WanzizZ
        3
    WanzizZ  
       2023-04-26 13:54:18 +08:00
    系统的 Api 应该只能录制麦克风的吧,听筒的是无法录制的,貌似是没有权限。
    TnTZard
        4
    TnTZard  
       2023-04-26 13:58:02 +08:00
    你好,我最近也实现了这个功能,思路如下:
    1. 调研机型,我们的需求只需要普通的(小米 ov huawei 这些都自带通话录音)满足即可
    2. 安卓允许相关所有权限
    3. 手机开启通话录音后会保存录音文件
    4. 将存储路径下的录音文件拿到上传到后台服务器(上传的时候和业务 id 绑定即可)
    整个过程就是这样,希望能有所帮助
    TechOrange
        5
    TechOrange  
       2023-04-26 14:29:17 +08:00
    @TnTZard 我甚至怀疑移动、联通那些临时推销人员很需要这些功能
    billlee
        6
    billlee  
       2023-04-26 14:41:44 +08:00 via Android   ❤️ 1
    原生 android 支持内录电话线路,但是需要 signature 权限。即 app 要内置到系统中,或者和系统用同一个密钥签名。
    Ashore
        7
    Ashore  
    OP
       2023-04-26 15:05:53 +08:00
    @TnTZard 你的意思是在系统拨号界面手动录音,然后等挂断电话后去寻找录音文件进行上传吗?
    Ashore
        8
    Ashore  
    OP
       2023-04-26 15:06:51 +08:00
    @billlee 那也太难了。。。感觉这种功能也就只有拼多多能开发出来了
    jiaming1992
        9
    jiaming1992  
       2023-04-26 15:15:37 +08:00
    有个办法,定制个蓝牙耳机
    lisxour
        10
    lisxour  
       2023-04-26 15:20:34 +08:00
    “通话”你指的是 sim 卡打的那种电话,还是指全局性的任意通话,比如微信语音等等,那这不妥妥的成病毒软件了嘛
    lisxour
        11
    lisxour  
       2023-04-26 15:22:26 +08:00
    @lisxour 无论出于什么目的,如果不需要 root 权限都能做到的话,那安卓系统就完大蛋了啊。
    flasktest1
        13
    flasktest1  
       2023-04-26 15:34:31 +08:00 via Android
    更合理的解决方式是公司给销售配发安卓 9 的手机……本来工作用手机就不该用私人设备,也免得公司录音了非工作内容
    cnbatch
        14
    cnbatch  
       2023-04-26 15:40:09 +08:00
    老老实实告诉你的老板(甚至可以把这个讨论贴给你的老板看看),新版安卓已经不能这么干了,想要录音的话就换成自带通话录音功能的国产机。

    正如楼上讲的,工作相关就该用工作手机,免得录下非工作内容。
    Mogugugugu
        15
    Mogugugugu  
       2023-04-26 16:07:27 +08:00
    做定制机
    96
        16
    96  
       2023-04-26 16:15:46 +08:00
    自己做个带录音的拨号器,替换为默认拨号器就可以了
    Ashore
        17
    Ashore  
    OP
       2023-04-26 16:20:59 +08:00
    @96 不会安卓原生开发啊。。。没招了
    Ashore
        18
    Ashore  
    OP
       2023-04-26 16:22:05 +08:00
    @cnbatch
    @flasktest1 #13&#14 劝老板换手机比写代码简单多了 不行这功能就不做了
    zhouhuade
        19
    zhouhuade  
       2023-04-26 16:48:25 +08:00
    新 Android 有隐私要求,不允许这么干了
    国内机在系统级利用包名检测,给部分 app 开了后门才能录的

    你能拿到系统级权限才能突破
    winterx
        20
    winterx  
       2023-04-26 16:58:38 +08:00
    三家运营商都有通化录音解决方案,可以在云端实现录音
    wanwaneryide
        21
    wanwaneryide  
       2023-04-26 17:01:15 +08:00
    使用手机的自动录音吧,稳定的一批。然后解析录音文件的文件名,文件名其中有号码 来去电时间,读取录音文件和通话记录做匹配,然后自动上传记录和录音就行了。然后就做国产手机的几个主流手机厂就行了。至于手动关闭录音、删除通话录音和记录,那不是技术问题,是行政管理的事了
    Andrue
        22
    Andrue  
       2023-04-26 17:04:11 +08:00
    谷歌的拨号器内置了通话录音功能,只是非认证设备没有显示,如果设备取得 root 权限去改一下配置文件就能启用了,快速操作请用
    https://github.com/jacopotediosi/GoogleDialerMod
    shwnpol
        23
    shwnpol  
       2023-04-26 17:10:28 +08:00
    lineageOS 自带这个功能,可以去看看他们的代码?
    lakehylia
        24
    lakehylia  
       2023-04-26 17:43:46 +08:00
    直接让销售打开手机录音功能啊,或者给销售派发带手机录音功能的手机
    pkoukk
        25
    pkoukk  
       2023-04-26 18:13:40 +08:00
    给老板安利一下中间号,就是运营商提供的号码反代
    既能保证所有通话都被录音
    也能保证销售无法获得客户的实际手机号,或者客户不能拿到销售的实际手机号
    lower
        26
    lower  
       2023-04-26 18:58:17 +08:00   ❤️ 1
    @pkoukk 赞同,这才是主流的方案😂 还能防止销售号码被拉黑
    alfchin
        27
    alfchin  
       2023-04-26 19:02:16 +08:00 via Android
    上面说安卓 13 不能用的录音的,可以下一个 cube acr ,安排的明明白白的
    x2009again
        28
    x2009again  
       2023-04-26 19:24:12 +08:00
    @pkoukk #25 反代,哈哈,华为叫虚拟号,录音文件好像要自己下载保存,服务器只存放一周左右的,服务器定时取文件就好了
    efaun
        29
    efaun  
       2023-04-26 19:37:09 +08:00
    按理说应该上话务台的
    SeanTo
        30
    SeanTo  
       2023-04-27 00:19:30 +08:00 via Android
    应该是可以的,下面这个录屏软件,录音可以选择声音来源为内部声音。在 pixel 3 原生 Android 12 上无外放能正常录音。我手机是 root 了,但这款 app 并不需要 root 权限。它只请求相机,麦克,和文件存储权限。肯定是有方法 4 。

    https://play.google.com/store/apps/details?id=com.kimcy929.screenrecorder
    wingch
        31
    wingch  
       2023-04-27 07:18:01 +08:00
    可以試試訊飛的 iflybuds 耳機,Android iOS 也能用 直接從耳機錄音擺脫系統限制
    但應該不可以自己開發功能
    Ashore
        32
    Ashore  
    OP
       2023-04-27 09:08:43 +08:00
    @zhouhuade
    @wanwaneryide
    @winterx 不搞了 直接和老板说了搞不定
    @pkoukk 给老板科看了 老板说没必要

    @alfchin 我试了下 好像也不能进行通话录音
    wanwaneryide
        33
    wanwaneryide  
       2023-04-27 09:54:33 +08:00
    @Ashore 还有一种办法就是买定制的手机,好像是红米手机刷系统后定制的手机,录音、微信监控啥的都是系统服务了。相关都关不了
    TnTZard
        34
    TnTZard  
       2023-05-29 16:19:38 +08:00
    @Ashore 是的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3297 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:33 · PVG 20:33 · LAX 04:33 · JFK 07:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.