8

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_CALL之间有什么区别?我阅读了 Android 文档,但无法理解。VOICE_UPLINKVOICE_DOWNLINK

4

2 回答 2

3

前段时间我遇到了同样的问题,我搜索了很多,而不是从https://stackoverflow.com/a/13090413/3514144找到了简单的单词解决方案 我才知道 VOICE_UPLINK:从你端传输到对方的音频。IOW,你对着麦克风说的话(加上周围的噪音,取决于是否使用了噪音抑制以及它的表现如何)。

VOICE_DOWNLINK:从对方传送到您端的音频。

VOICE_CALL: VOICE_UPLINK + VOICE_DOWNLINK.

所以我使用记录格式DOWNLINK和它的工作正常希望这是一个简单的词来区分。

于 2015-11-02T06:28:01.867 回答
0

还有VOICE_CALL、VOICE_UPLINK和VOICE_DOWNLINK有什么区别???我在 Android 文档上阅读过......不明白。

现在在 API 级别 4 (Android 1.6) 之后的类 MediaRecorder.MediaSource 包括

  1. VOICE_CALL 语音通话上行+下行音源
  2. VOICE_DOWNLINK 语音呼叫下行链路 (Rx) 音频源
  3. VOICE_UPLINK 语音呼叫上行链路 (Tx) 音频源

在此处查看详细信息

专业链接

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

简而言之,由于硬件架构的原因,目前无法直接在android平台上录制通话。当设备在扬声器或相同技术上时,市场上的大多数通话记录器都会记录语音。

于 2013-05-14T07:14:57.227 回答