Android:使用MediaRecorder录制音频会在whatsapp音频调用期间发出runtimeException

时间:2017-04-19 09:27:44

标签: android audio-recording whatsapp mediarecorder

我正在尝试在我的应用程序中记录whatsapp音频调用。我的代码工作精细的SIM卡调用或简单的录音但是当开始调用whatsapp或facebook messenger并在社交网络调用期间开始录制时,我得到runtimeExceptin并且MediaRecorder启动失败。

我使用这个简单的代码。

private void startRecording() {

    mRecorder = new MediaRecorder();

    mFileName = Environment.getExternalStorageDirectory().getAbsolutePath();
    mFileName += "/Asimkhanmak.3gp";

    mRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_COMMUNICATION);
   // mRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);

    mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
   // mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.MPEG_4_SP);
    mRecorder.setOutputFile(mFileName);



    try {
        mRecorder.prepare();
    } catch (IOException e) {
        Toast.makeText(this, "Pre "+ e, Toast.LENGTH_SHORT).show();
    }

    try {
        mRecorder.start();

    } catch (RuntimeException e) {
        Toast.makeText(this, "Start "+ e, Toast.LENGTH_SHORT).show();
    }


}

我也试过Mic作为AudioSource,但它没有奏效。

1 个答案:

答案 0 :(得分:0)

尝试在“活动扩展服务”而非普通活动中运行此操作。

而你的“尝试捕获”,为什么在不同的尝试捕捉?把它放在一起吧。不要浪费代码行。