当前位置: 首页 > 知识库问答 >
问题:

如何在根设备上记录网络电话?

商鸿哲
2023-03-14

我目前正在开发一个项目,我需要为应用程序录制VOIP通话,例如(Whatsapp和其他使用VOIP通话的应用程序)

我已经尝试了下面的代码来触发事件,当whatsapp调用时,所以我同时启动了录音机,但这是问题所在

recorder = new MediaRecorder();
    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    //i have tried VOICE_COMMUNICATION , VOICE_CALL but same issue 
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setOutputFile(file);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);

try {
    recorder.prepare();

    recorder.start();
    checkRecording = true;
    Log.e("Audio", "recording starts") ;
    new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Log.e("Audio", "recording stops") ;
            recorder.stop();
            checkRecording = false;
        }
    }, 60000);

} catch (IllegalStateException e) {
    e.printStackTrace();
    Log.e("Audio stop", "error "+e) ;
} 

当录音开始时,同时WhatsApp通话,然后接收器无法收听我的声音,但我可以听到他的声音,音频只录制了我的声音-基本上,录音开始时,它使用与WhatsApp相同的音频源,所以WhatsApp阻止麦克风,这就是为什么接收者听不到我的声音。

我需要一种方法在多个应用程序中使用相同的音频源,所以当我开始录制时,它不应该忙于麦克风,所以WhatsApp也可以使用它?

因此,任何人都可以帮助通过voIP(Android Studio)录制通话,或者指导我在哪里做错了,或者任何建议都会帮助我!

我正在为Emulator制作这个应用程序,这个应用程序是植根的,所以任何内核方式都可以娱乐

这个问题已经被问过了,但从未被回答过,所以请任何人回答或建议任何解决这个问题的方法

共有1个答案

毕富
2023-03-14

到目前为止,Android无法记录VoIP通话。

正常通话不使用麦克风,因此另一个应用程序可以获取麦克风并记录对话。

但在VoIP呼叫中,应用程序将使用麦克风,因此如果另一个应用程序尝试失败并出现错误,则无法获取。如果应用程序试图在VoIP呼叫之前获取麦克风,则在呼叫期间,另一方将无法听到任何声音。

所以底线是到目前为止还没有这样的应用程序可以在Android中记录VoIP通话。

立方体呼叫记录器或任何声称记录VoIP呼叫的间谍应用程序都不会在大多数手机上记录(即使是根用户)。他们可能在一些可能有双麦克风的中国手机上工作。

 类似资料:
  • 本文向大家介绍Python如何telnet到网络设备,包括了Python如何telnet到网络设备的使用技巧和注意事项,需要的朋友参考一下 0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但是,它的缺陷太明显了,就是不安全,信息明文传送,极容易被攻击窃取信息,不推荐使用,但本节我还是先从它入手哈。 1. 测试环境

  • 我正在开发一个可以在Android系统中记录通话的应用程序。我读过很多讨论通话记录问题的话题。我知道不是所有的Android手机都可以记录通话。但是我想知道如何记录通话,这是游戏市场上最受欢迎的应用程序,比如https://play.google.com/store/apps/details?id=com.appstar.callrecorder或https://play.google.com/s

  • Linux提供了许多虚拟设备,这些虚拟设备有助于构建复杂的网络拓扑,满足各种网络需求。 网桥(bridge) 网桥是一个二层设备,工作在链路层,主要是根据MAC学习来转发数据到不同的port。 # 创建网桥 brctl addbr br0 # 添加设备到网桥 brctl addif br0 eth1 # 查询网桥mac表 brctl showmacs br0 veth veth pair是一对虚拟

  • 所以我在玩Expo+React Native+yoga graphql server+Apollo Client,通过查询获取数据在浏览器中工作,当我从Expo点击“在浏览器中运行”时,但如果我试图在android模拟器/QR code上从真实的手机上运行该应用程序,它会引发网络错误。附言。我在github上阅读了类似的帖子和问题,所以我设法使graphqlendpoint可以通过nat和No-I

  • 本文向大家介绍如何在Python3中使用telnetlib模块连接网络设备,包括了如何在Python3中使用telnetlib模块连接网络设备的使用技巧和注意事项,需要的朋友参考一下 Python中专门提供了telnetlib库,用来完成基于telnet协议的通信功能。 python3下使用telnetlib模块连接网络设备经常会遇到字节与字符不匹配的问题 问题提示如下: 以下是设备实例: 以上是

  • 我希望能够在我的网络上发现Android设备,并可能检索一些关于它们的设备信息。这对于苹果设备来说非常容易,因为它们运行Bonjour服务。然而,我似乎找不到任何类似的服务运行在Android上。 这必须在不修改Android设备,安装某些服务或打开某些端口的情况下工作。它旨在与vanilla Android设备配合使用,就像Bonjour帮助您找到vanilla Apple设备一样。即使能够验证