使用 MediaRecorder 录音的简介

介绍

在 Android 开发中,有时我们需要开发一个应用程序,能够录制和保存用户的声音。在这种情况下,我们可以使用 Android 提供的 MediaRecorder 类来完成这个任务。MediaRecorder 类可以方便地进行音频录制,并且提供了许多实用的方法和选项。

MediaRecorder 类

MediaRecorder 类是 Android 提供的一个用于音频录制的工具类。它提供了一组方法来处理音频的录制和保存。以下是一些常用的 MediaRecorder 方法:

  • setAudioSource(int):设置录音源,例如麦克风或电话。
  • setOutputFormat(int):设置输出格式,例如 AMR 或 WAV。
  • setAudioEncoder(int):设置音频编码器,例如 AAC 或 MP3。
  • setOutputFile(String):设置输出文件的路径。
  • prepare():准备录音器以进行录制。
  • start():开始录制。
  • stop():停止录制。
  • release():释放录音器的资源。

使用示例

下面是一个使用 MediaRecorder 类进行音频录制的示例:

import android.media.MediaRecorder;
import android.os.Environment;

public class AudioRecorder {
    private MediaRecorder mediaRecorder;
    private String outputFilePath;

    public AudioRecorder() {
        outputFilePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/recording.3gp";
    }

    public void startRecording() {
        mediaRecorder = new MediaRecorder();
        mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        mediaRecorder.setOutputFile(outputFilePath);

        try {
            mediaRecorder.prepare();
            mediaRecorder.start();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void stopRecording() {
        if (mediaRecorder != null) {
            mediaRecorder.stop();
            mediaRecorder.release();
            mediaRecorder = null;
        }
    }

    public String getOutputFilePath() {
        return outputFilePath;
    }
}

在上面的示例中,我们创建了一个名为 AudioRecorder 的类,该类封装了音频录制的功能。它提供了 startRecording()stopRecording() 两个方法,用于开始和停止录制。录制的音频文件将保存在设备的外部存储目录下。你可以在 getOutputFilePath() 方法中获取录制文件的路径。

类图

下面是 AudioRecorder 类的类图:

classDiagram
    AudioRecorder --> MediaRecorder
    AudioRecorder : +startRecording()
    AudioRecorder : +stopRecording()
    AudioRecorder : +getOutputFilePath()

结束语

通过使用 MediaRecorder 类,我们可以方便地在 Android 应用中实现音频录制的功能。我们可以设置录音源、输出格式和音频编码器,并且可以方便地控制录音的开始和停止。希望本文能够对你了解如何使用 MediaRecorder 录音有所帮助。