在android中只记录来电者的声音

时间:2013-05-14 05:52:44

标签: android voice-recording

我正在使用MediaRecorder来记录android中的调用。但我只想记录来电者的声音。可以这样做吗?

    recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    // mRecorder.setOutputFile("/sdcard/yousuck2.3gp");
    if (audiofile == null) {
        File sampleDir = Environment.getExternalStorageDirectory();

        try {
            audiofile = File.createTempFile("ibm", ".3gp", sampleDir);
        } catch (IOException e) {
            Log.e(TAG, "sdcard access error");
            return;
        }
    }

VOICE_CALLVOICE_UPLINKVOICE_DOWNLINK之间的区别是什么?我阅读了Android文档,但无法理解。

2 个答案:

答案 0 :(得分:3)

之前我遇到了同样的问题,我搜索了https://stackoverflow.com/a/13090413/3514144的简单单词解决方案 我才知道 VOICE_UPLINK:音频从您的终端传输到另一方。 IOW,你对麦克风讲话的内容(加上周围的噪音取决于是否使用了噪音抑制以及它的表现如何)。

VOICE_DOWNLINK:从另一方传送到您最终的音频。

VOICE_CALL: VOICE_UPLINK + VOICE_DOWNLINK.

因此我将记录格式用作DOWNLINK,其工作正常,希望这是一个可以区分的简单词。

答案 1 :(得分:0)

  

另外VOICE_CALL,VOICE_UPLINK和VOICE_DOWNLINK有什么区别???我读过Android文档...不明白。

现在在API Level 4(Android版)之后对MediaRecorder.MediaSource进行分类 1.6)包括

  1. VOICE_CALL语音呼叫上行链路+下行链路音频源
  2. VOICE_DOWNLINK语音呼叫下行链路(Rx)音频源
  3. VOICE_UPLINK语音呼叫上行链路(Tx)音频源
  4. 请参阅此处的详细信息

    proff link

      

    我正在使用媒体录制器在android中录制来电。但我只想记录来电者的声音..可以这样做吗?

    简而言之,由于硬件架构的原因,目前无法直接在Android平台上录制呼叫。市场上的大多数通话录音机在扬声器或相同技术上的设备上发出声音。