Android中的媒体记录器

时间:2013-07-31 22:04:13

标签: android

您好我已经创建了一个小型应用程序,我正在录制音频。我的问题是,在下面的代码中,我可以在特定文件夹中创建一个文件但是当我试图播放这个音频文件时,它说这个媒体文件不支持。请帮忙

public void startRecording() {

        System.out.println("STart Recording");

        if (recorder != null) {
            recorder.release();
        } else {
            recorder = new MediaRecorder();
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
            recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
            recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
            recorder.setOutputFile(getFilePath());

            try {
                recorder.prepare();
                recorder.start();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                recorder.release();
            }
        }

    }

    private void stopRecording() {

        System.out.println("Stop Recording");

        try {
            if (null != recorder) {
                recorder.stop();
                recorder.reset();
                recorder.release();
                recorder = null;
            }

        } catch (IllegalStateException e) {
            e.printStackTrace();
        }

    }

    private String getFilePath() {
        File rsd = Environment
                .getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC);
        if (!rsd.isDirectory()) {
            rsd.mkdir();
        }
        File dcim = new File(rsd + "/hello.mp3");

        return dcim.getAbsolutePath();
    }

1 个答案:

答案 0 :(得分:0)

如同Ralph House在评论中所说的那样,你应该使用.3gp扩展名来保存你的文件。变化

File dcim = new File(rsd + "/hello.mp3");

要:

File dcim = new File(rsd + "/hello.3gp");
相关问题