Moto Phones上的语音通话录音

Bhu*_*esh 10 android motorola-droid audio-source call-recording

我想在通话期间录制来电和拨出线路的语音.我尝试了许多解决方案,否则可以在Moto Phones以外的设备上工作(在我的情况下,我已经尝试过Moto E(第二代),Moto G5和Moto C).我试过这两个库:

  1. call-recorder-for-android 这个库,首先是具有以下日志跟踪的crashese

03-07 10:56:57.307 293-9261 /?E/AudioRecord:无法获取记录源4的音频输入,采样率8000,格式0x1,通道掩码0x10,会话3494,标志0 03-07 10:56:57.308 293-9261 /?E/StagefrightRecorder:音频源未初始化03-07 10:56:57.309 7290-7290/com.callrecorder.android E/MediaRecorder:开始失败:-2147483648 03-07 10:56:57.314 7290-7290/com.callrecorder .android E /呼叫记录器:无法设置记录器.java.lang.RuntimeException:启动失败.在android.app.MediaRecorder.start(Native Method)的com.callrecorder.android.RecordService.startRecording(RecordService.java:194)at com.callrecorder.android.RecordService.onStartCommand(RecordService.java:92)at android.app .ActivityThread.handleServiceArgs(ActivityThread.java:3028)位于android.app.Handler.dispatchMessage上的android.app.ActivityThread.-wrap17(ActivityThread.java)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1452) (Handler.java:102)在android.app.Looper.loop(Looper.java:148)的android.app.ActivityThread.main(ActivityThread.java:5443)java.lang.reflect.Method.invoke(Native Method) )com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728)com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

根据官方Android文档

从VOICE_CALL源捕获需要CAPTURE_AUDIO_OUTPUT权限.此权限保留供系统组件使用,不可用于第三方应用程序.

因此,我尝试将AudioSource更改为AudioSource.VOICE_COMMUNICATION无崩溃的工作.但是无法记录传入的声音.它只记录传出的声音.我尝试过同样AudioSource.DEFAULT但又没有运气.它的行为与...相同AudioSource.VOICE_COMMUNICATION

  1. CallRecLib

这个库在NDK级别有一些调整.但是,这也给出了与上面的库相同的结果AudioSource.VOICE_COMMUNICATION

根据MOTO的官方论坛,这个讨论主题摩托罗拉官员表示,他们不支持内部的VOICE CALL录制,但某些第三方应用程序可能会这样做.哪个是对的.Play商店中的自动呼叫记录器应用程序提供相同的工作解决方案.我无法找到它做了什么样的修改,这给了它一个有效的解决方案.任何帮助,将不胜感激