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

MIUI 中通话录音是如何确认是拨入还是拨出?

  •  
  •   lixyz · 2021-08-02 03:22:43 +08:00 · 9432 次点击
    这是一个创建于 1209 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在写一个 APP,可以把自己手机上的通话录音保存到云端

    这就涉及到一个拨入和拨出的区别

    通过这个方法可以获取到在 sqlite 中的数据:

                        val recordCursor = context.contentResolver.query(
                            MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,
                            null,
                            "${MediaStore.Audio.Media.RELATIVE_PATH} = ?",
                            arrayOf("MIUI/sound_recorder/call_rec/"), null
                        )
    

    但是无法区分是打出的还是打入的

    有没有朋友做过相关的内容啊,是不是在别的表中存着呢?烦请指点一二,感谢感谢

    第 1 条附言  ·  2021-08-09 18:31:07 +08:00
    在 CallLog.Calls 中可以获取到通话记录,可以区分来电去点

    在 MediaStore.Audio.Media 中可以获取到通话录音的记录

    但是找来找去二者没有相对应的字段可以关联起来
    5 条回复    2021-08-09 18:31:35 +08:00
    ysc3839
        1
    ysc3839  
       2021-08-02 05:35:06 +08:00 via Android
    你这是获取 Android 媒体存储里面缓存的数据吧?这些数据应该是直接扫描相关文件得出的,文件本身没有对应数据,那是获取不到的。
    hervey0424
        2
    hervey0424  
       2021-08-02 07:34:25 +08:00
    通过通话记录应该可以知道吧
    BryanYue
        3
    BryanYue  
       2021-08-02 10:07:40 +08:00   ❤️ 1
    写个广播,拿 TelephonyManager.CALL_STATE_IDLE 的 state 来区分状态,通话结束后去取录音
    StonyGround
        4
    StonyGround  
       2021-08-02 15:20:53 +08:00
    CallLog.Calls.TYPE 了解一下
    lixyz
        5
    lixyz  
    OP
       2021-08-09 18:31:35 +08:00
    @StonyGround CallLog.Calls.TYPE 确实可以区分来电去电,但是没有字段是对应录音文件的啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2866 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 14:08 · PVG 22:08 · LAX 06:08 · JFK 09:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.