Moto Phones上的语音通话记录

时间:2018-03-07 05:52:51

标签: android motorola-droid audio-source call-recording

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

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

    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.media.MediaRecorder.start(Native方法)                                                                              在com.callrecorder.android.RecordService.startRecording(RecordService.java:194)                                                                              在com.callrecorder.android.RecordService.onStartCommand(RecordService.java:92)                                                                              在android.app.ActivityThread.handleServiceArgs(ActivityThread.java:3028)                                                                              在android.app.ActivityThread.-wrap17(ActivityThread.java)                                                                              在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1452)                                                                              在android.os.Handler.dispatchMessage(Handler.java:102)                                                                              在android.os.Looper.loop(Looper.java:148)                                                                              在android.app.ActivityThread.main(ActivityThread.java:5443)                                                                              at 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
    2. 这个库在NDK级别有一些调整。但是,与AudioSource.VOICE_COMMUNICATION

      上面的库一样,也给出了相同的结果

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

0 个答案:

没有答案