手机都有麦克风,Android系统就可以调用麦克风进行录音了,MediaRecorder这个类可以实现录音功能。
首先需要加权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!--录音权限-->
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
步骤:
1)创建MediaRecorder对象,
2)调用对象的setAudioSourse()方法设置声音来源,一般传入MediaRecorder.AudioSource.MIC指定来自麦克风的声音。
3)调用对象的setOutputFormat()设置所录制的音频格式。
4)调用对象的setAudioEncoder()、setAudioEncodingBitRate(int bitRate)、setAudioSamplingRate(int sanmplingRate)方法设置录制声音的编码格式、编码位率、采样率等这些参数可以控制所录音的品质、文件大小
5)调用对象的setOutputFile(String Path)方法设置文件保存位置
6)Mediaplayer的准备启动以及停止
状态图:
在按钮的操作中调用如下代码实现录音并保存
public void onClick(View v) {
switch (v.getId()){
case R.id.button_start_recorder:
mediaRecorder=new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//输出格式
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//编码格式
mediaRecorder.setOutputFile(Environment.getExternalStorageDirectory() + "/Myrecorder");//输出路径
try {
mediaRecorder.prepare();
mediaRecorder.start();
} catch (IOException e) {
e.printStackTrace();
}
break;
case R.id.button_stop_recorder:
mediaRecorder.stop();
break;
}
}