我已开发出用于录制呼叫的应用程序,并且在录音带中录制的语音在质量上比在姜饼os.Android应用程序代码中记录的语音质量要差,我用它来录制语音如下。
public void StartRecording(){
try
{
GlobalValues.recorder = new MediaRecorder();
GlobalValues.recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
GlobalValues.recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
GlobalValues.recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
GlobalValues.recorder.setOutputFile(this.getFullSdPath());
try {
Log.e("start recordng", GlobalValues.strRunningRecordNo);
GlobalValues.recorder.prepare();
} catch (IllegalStateException ex1) {
dbHelper.InsertErrors(ex1);
log.WriteErrors(ex1,"StartRecording-prepare");
} catch (IOException ex2) {
dbHelper.InsertErrors(ex2);
log.WriteErrors(ex2,"StartRecording-prepare-IO");
}
GlobalValues.recorder.start(); // Recording is now started
}catch(Exception ex){
dbHelper.InsertErrors(ex);
log.WriteErrors(ex,"StartRecording-start");
}
}
public void StopRecording(){
try{
GlobalValues.recorder.stop();
Log.i("stopped", "stoprecording");
GlobalValues.recorder.reset();
Log.i("reset", "stoprecording");
GlobalValues.recorder.release();
Log.i("released", "stoprecording");
CallState = false;
}catch(Exception ex)
{
Log.i(ex.toString(), "stoprecording");
dbHelper.InsertErrors(ex);
log.WriteErrors(ex,"StopRecording()");
}
}
如果您有任何解决方案,请发布。