Android中实现录音功能其实很简单,直接调用的系统的就ok了,这里就不写实现的原理了,直接部署代码:所谓的实现就是用的MediaRecorder。
录音功能代码:
//开始录制
private void startRecord(){
if(mr == null){
File dir = new File(Environment.getExternalStorageDirectory(),"sounds");
if(!dir.exists()){
dir.mkdirs();
}
File soundFile = new File(dir,"abner"+".amr");//存储到SD卡当然也可上传到服务器
if(!soundFile.exists()){
try {
soundFile.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
mr = new MediaRecorder();
mr.setAudioSource(MediaRecorder.AudioSource.MIC); //音频输入源
mr.setOutputFormat(MediaRecorder.OutputFormat.AMR_WB); //设置输出格式
mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_WB); //设置编码格式
mr.setOutputFile(soundFile.getAbsolutePath());
try {
mr.prepare();
mr.start(); //开始录制
} catch (IOException e) {
e.printStackTrace();
}
}
}
停止语音功能:
//停止录制,资源释放
private void stopRecord(){
if(mr != null){
mr.stop();
mr.release();
mr = null;
}
}
播放语音功能:
File dir = new File(Environment.getExternalStorageDirectory(),"sounds"); if(!dir.exists()){ dir.mkdirs(); } File soundFile = new File(dir,"abner.amr"); if(!soundFile.exists()){ return; } MediaPlayer mediaPlayer=new MediaPlayer(); try { mediaPlayer.setDataSource(soundFile.getAbsolutePath()+""); mediaPlayer.prepareAsync(); mediaPlayer.start(); mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.release(); } }); } catch (Exception e) { e.printStackTrace(); } }
如果觉得《Android实现录音功能及播放语音功能》对你有帮助,请点赞、收藏,并留下你的观点哦!