MediaRecorder.start()中的RuntimeException

时间:2014-03-23 08:36:49

标签: android runtimeexception android-mediarecorder

当我在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();

1 个答案:

答案 0 :(得分:0)

我运行你的代码,没关系。有用。但我用了

final String path = getFilesDir().getAbsolutePath()+"/myFile"

代替。

因此,请确保您的getOutputAudioFilePath(activity)方法返回一个有效路径和一个不需要您尚未添加的清单权限的路径,因为它可能会导致您获得的异常。