Android中使用原生MediaRecorder APi实现录音功能

一、MediaRecorder简介

MediaRecorder是Android中的一个API,可以用来实现录音功能。它继承自android.media.MediaRecorder类,可以实现音频和视频的录制。

二、MediaRecorder的使用

1、首先,实例化一个MediaRecorder对象,并设置音频源:

val recorder = MediaRecorder()
recorder.setAudioSource(MediaRecorder.AudioSource.MIC)

2、设置音频的输出格式:

recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP)

3、设置音频的编码格式:

recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB)

4、设置录音文件的路径:

var path=""

var fileName = "${DateFormat.format("yyyyMMdd_HHmmss", Calendar.getInstance(Locale.CHINA))}.m4a"

var audioSaveDir=filesDir.absolutePath

path="$audioSaveDir$fileName"
recorder.setOutputFile(path);

5、准备录音:

recorder.prepare()

6、开始录音:

recorder.start()

7、停止录音:

recorder.stop()

8、释放资源:

recorder.release()

三、MediaRecorder的优缺点

MediaRecorder可以记录音频和视频,可以设置不同的输出格式,可以设置不同的编码格式,还可以设置不同的音量,可以设置不同的录音文件的路径,等等。

但是,MediaRecorder也有一些缺点,比如它只能录制音频和视频,不能录制图像;实现步骤不够简洁,录音文件的路径也需要提前设置,不能动态设置,它的录音效果也不是很好.

你可能感兴趣的:(android)