Android中MediaRecorder详解

来源:互联网 发布:西游之路法宝进阶数据 编辑:程序博客网 时间:2024/05/19 00:40

在Android中录制音频有两种方式,MediaRecorder和AudioRecorder。

  • MediaRecorder相对比较简单,不需要关心中间录制过程,录制成功后可以直接得到音频文件,用音频播放器就可以直接播放。录制的音频文件是经过压缩的,需要设置编码器。
  • AudioRecorder在声音录制过程中,可以处理采集的声音数据,如降噪、合成等。过程为一段一段进行录制然后得到数据分别进行处理。录制的是PCM格式的音频文件,需要用AudioTrack来播放,AudioTrack更接近底层。

本文主要讲解的是MediaRecorder来录制。

使用MediaRecorder录制音频的常见情况如下:

  1. 通过new MediaRecorder()创建MediaRecorder实例
  2. 调用 setAudioSource()设定音频的录入源
  3. 调用setOutputFormat()设置输出格式
  4. 调用setAudioEncoder()设定音频的编码方式。
  5. 调用setOutputFile()设置输出文件路径
  6. 调用prepare()准备录制
  7. 调用start()开始录制
  8. 调用stop()停止录制
 MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(PATH_NAME); recorder.prepare(); recorder.start();   // Recording is now started ... recorder.stop(); recorder.reset(); recorder.release(); // Now the object cannot be reused

附一张Android官网的流程图:
这里写图片描述

原创粉丝点击