Nav*_*mad 5 android whatsapp call-recording voip-android
我正在开发一个在 android 中录制 VOIP 通话的项目,我没有找到任何解决方案,有很多应用程序支持手机上的 VOIP 录音。我找不到任何教程和帮助。Cube Call Recorder是提供此功能的应用程序之一,但我不知道该怎么做。我通过使用 android MediaRecorder开始录音然后启动 whatsapp 呼叫进行了测试,因此其他人无法听到我的声音。通话后,我检查了录音中只保存了我的声音。
作为一项研究,我对一些 apk 进行了逆向工程,我发现它们在 apk 中使用了辅助功能权限。
<uses-permission android:name="android.permission.BIND_ACCESSIBILITY_SERVICE" />
Run Code Online (Sandbox Code Playgroud)
我不知道我需要了解哪些事情,我怎样才能知道 VOIP 呼叫来来去去,就像BroadcastReceiver 一样。
然后,我将了解如何记录通话。
小智 1
我已经找到了这个问题的答案
首先授予可访问权限并拥有此类
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() {
}
}
Run Code Online (Sandbox Code Playgroud)
之后您可以使用
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();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1905 次 |
| 最近记录: |