Android VOIP呼叫记录

Android VOIP呼叫记录,android,whatsapp,call-recording,voip-android,Android,Whatsapp,Call Recording,Voip Android,我正在做一个在android上录制VOIP电话的项目,我没有找到任何解决方案,有很多应用程序支持在手机上录制VOIP电话。我找不到任何教程和帮助。是提供此功能的应用程序之一,但我不知道如何实现。 我用androidMediaRecorder开始录音,然后启动whatsapp呼叫,这样其他人就听不到我的声音了。通话结束后,我只检查了我的声音是否保存在录音中 作为一项研究,我反向设计了一些apk,我发现它们在apk中使用可访问性权限 <uses-permission android:name=

我正在做一个在android上录制VOIP电话的项目,我没有找到任何解决方案,有很多应用程序支持在手机上录制VOIP电话。我找不到任何教程和帮助。是提供此功能的应用程序之一,但我不知道如何实现。 我用androidMediaRecorder开始录音,然后启动whatsapp呼叫,这样其他人就听不到我的声音了。通话结束后,我只检查了我的声音是否保存在录音中

作为一项研究,我反向设计了一些apk,我发现它们在apk中使用可访问性权限

<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />

我不知道我需要了解的是什么,我如何才能知道VOIP呼叫就像一个广播接收器一样来来去去去


然后,我将了解如何记录通话

我已经找到了答案

首先授予访问权限并拥有该类

import android.accessibilityservice.AccessibilityService;
import android.accessibilityservice.AccessibilityServiceInfo;
import android.content.Intent;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;

public class AccessAudio extends AccessibilityService {
    @Override
    public void onAccessibilityEvent(AccessibilityEvent event) {
Log.d("","gf");
    }

    @Override
    protected void onServiceConnected() {
        super.onServiceConnected();

        AccessibilityServiceInfo accessibilityServiceInfo = new AccessibilityServiceInfo();
        accessibilityServiceInfo.flags = 1;
        accessibilityServiceInfo.eventTypes = -1;
        accessibilityServiceInfo.feedbackType = 16;
        setServiceInfo(accessibilityServiceInfo);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return super.onStartCommand(intent, flags, startId);
    }

    @Override
    public void onInterrupt() {

    }
}
之后你可以使用

mediaRecorder = new MediaRecorder();
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_RECOGNITION);
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mediaRecorder.setOutputFile(AudioSavePathInDevice.getPath());
        mediaRecorder.prepare();
        mediaRecorder.start();

你找到解决办法了吗?我现在正在开发一个类似的应用程序,但似乎找不到任何方法来实现这一点。仍然没有好友not@NaveedAhmad有什么解决办法吗?@Deepak仍然答案是个谜,我找到了一些线索,但仍然不是确切的答案。我们可以通过电子邮件联系吗?为了协同工作,如果我们解开了这个谜团,我们可以在这里分享任何解决方案?请你在@akkmastr更好地解释一下好吗?