代码如下:
Button mBtnAudio,mBtnunAudio;
MediaRecorder recorder;//录音类
String appHome;//保存路径
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_audiorecord);
mBtnAudio=findViewById(R.id.mBtnAudio);//开始按钮
mBtnunAudio=findViewById(R.id.mBtnunAudio);//停止按钮
//保存到手机的文件名
String appHome = Environment.getExternalStorageDirectory().getAbsolutePath()+"/myApp.m4a";
mBtnAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startRecordAudio(appHome);
}
});
mBtnunAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
stopRecordAudio();
}
});
//判断安卓版本
if(Build.VERSION.SDK_INT >=23){
//需要申请的权限
String [] permission={
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.RECORD_AUDIO
};
for(int i=0;i<permission.length;i++){
//判断是否有权限
if(this.checkSelfPermission(permission[i]) != PackageManager.PERMISSION_GRANTED){
this.requestPermissions(permission,i);
}
}
}
}
//开始录音
void startRecordAudio(String path){
if(recorder ==null){
recorder =new MediaRecorder();
}
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置录音来源
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);//设置输出格式
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);//设置编码格式
recorder.setOutputFile(path);//设置输出路径
try {
recorder.prepare();//准备
recorder.start();//开始录音
Toast.makeText(this,"开始录音",Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}
void stopRecordAudio(){
if(recorder !=null){
recorder.stop();//停止录音
recorder.reset();//重置
recorder.release();//释放资源
recorder =null;
Toast.makeText(this,"停止录音",Toast.LENGTH_SHORT).show();
}
}
}
---
# 总结
提示:别忘了添加必要的权限
<uses-permission android:name="android.permission.RECORD_AUDIO" />这样就可以实现录音的功能了