Java mediaRecorder.prepare();IOEXCEPTION错误

Java mediaRecorder.prepare();IOEXCEPTION错误,java,android,android-mediaplayer,Java,Android,Android Mediaplayer,实际上,我正在尝试使用mediarecorder录制语音通话。我的代码适用于某些设备,但像联想-索尼一样,它不起作用。调用mediarecorder.prepare()时,它给出了IOEXCEPTION错误。这是我的密码 { cou = 1; String nam = "/"+name+"("+cou+")"+".wav"; String voicefile = recordfolder + nam ; File vf = new File(voicefile); while

实际上,我正在尝试使用mediarecorder录制语音通话。我的代码适用于某些设备,但像联想-索尼一样,它不起作用。调用
mediarecorder.prepare()
时,它给出了
IOEXCEPTION
错误。这是我的密码

{
  cou = 1;
  String nam = "/"+name+"("+cou+")"+".wav";
  String voicefile = recordfolder + nam ;
  File vf = new File(voicefile);
  while (vf.exists()) {
    cou = cou + 1;
    nam = "/"+name+"("+cou+")"+".wav";
    voicefile = recordfolder + nam ;
    vf = new File(voicefile);
    System.out.println("cou valuee"+cou);
  }
  System.out.println("cou value isssssss" + cou);
  voicefile = recordfolder + nam ;
  try {
    mymediarecorder();
  }
  catch (Exception e {
    System.out.println("error to run mediarecorder function");
  }
  try {
    myAudioRecorder = new MediaRecorder();
    myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
    myAudioRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
    myAudioRecorder.setOutputFile(voicefile);
    myAudioRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
    System.out.println("audio file setup done");
  }
  catch (Exception e)
  {
    System.out.println("now problem hereee");
  }
  try {
    myAudioRecorder.prepare();
  }
  catch (IllegalStateException e) {
    System.out.println("problem to prepare .wav");
  }
  catch (IOException e) {
    System.out.println("problem to prepare .wav IOEXCEPTION ");
  }
  myAudioRecorder.start();
}

我已经找到了解决这个问题的方法…它非常简单,应该是.amr文件,主要问题是在这一行myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);它将是myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);我已经找到了解决这个问题的方法…它非常简单,应该是.amr文件,主要问题是在这一行myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);它将是myAudioRecorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);