我正在尝试在我的应用程序中记录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,但它没有奏效。
答案 0 :(得分:0)
尝试在“活动扩展服务”而非普通活动中运行此操作。
而你的“尝试捕获”,为什么在不同的尝试捕捉?把它放在一起吧。不要浪费代码行。