2017-04-19 100 views
1

我正在尝试在我的应用程序中录制whatsapp音频调用。我的代码工作很好的SIM卡调用或简单的录音,但是当开始呼吁WhatsApp或Facebook Messenger,并开始在社交网络录音调用我得到runtimeExceptin和MediaRecorder启动失败。Android:使用MediaRecorder录制音频在whatsapp音频调用期间给出runtimeException

我使用这个简单的代码。

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,但它没有奏效。

回答

0

尝试在“活动延伸服务”而不是正常活动中运行此项。

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