当我在MediaRecorder对象上调用方法“start()”时,我有一个RuntimeException。我无法粘贴堆栈跟踪,因为我发现了Google Analytics上的错误。 这是代码:
MediaPlayer p = new MediaPlayer();
final MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
final String path = getOutputAudioFilePath(activity);
if (path == null)
return;
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.setMaxDuration(300000);
try {
recorder.prepare();
} catch (IOException e) {
Toast.makeText(activity,e.getMessage(),Toast.LENGTH_LONG).show();
}
recorder.start();
答案 0 :(得分:0)
我运行你的代码,没关系。有用。但我用了
final String path = getFilesDir().getAbsolutePath()+"/myFile"
代替。
因此,请确保您的getOutputAudioFilePath(activity)方法返回一个有效路径和一个不需要您尚未添加的清单权限的路径,因为它可能会导致您获得的异常。