标签:
需要的权限
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
MediaRecorder media = new MediaRecorder(); // 设定录音来源为麦克风 MIC|DEFAULT media.setAudioSource(MediaRecorder.AudioSource.MIC); // DEFAULT|MPEG_4|THREE_GPP media.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); // DEFAULT|AMR_NB media.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); // 输出文件 File audioFile = File.createTempFile("temp3", ".amr", Environment.getExternalStorageDirectory()); media.setOutputFile(audioFile.getAbsolutePath()); media.prepare(); media.start();
停止录音
// 停止录音
media.stop();
media.release();
media = null;
开启播放录音的程序
private void openFile(File f){
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(android.content.Intent.ACTION_VIEW);
String type = getMIMEType(f);
intent.setDataAndType(Uri.fromFile(f), type);
startActivity(intent);
}
private String getMIMEType(File f){
String end = f.getName().substring(
f.getName().lastIndexOf(".") + 1, f.getName().length())
.toLowerCase();
String type = "";
if (end.equals("mp3") || end.equals("aac") || end.equals("aac")
|| end.equals("amr") || end.equals("mpeg")
|| end.equals("mp4")){
type = "audio";
} else if (end.equals("jpg") || end.equals("gif")
|| end.equals("png") || end.equals("jpeg")){
type = "image";
} else {
type = "*";
}
type += "/*";
return type;
}
取得所有amr文件
// 第一个参数目录,第二个参数,后缀名 private ArrayList<String> getRecordFiles(File dir,String suffix){ ArrayList<String> recordFiles = new ArrayList<String>(); if (dir.exists()){ File files[] = dir.listFiles(); if (files == null) return recordFiles; for (int i = 0; i < files.length; i++){ if (files[i].getName().indexOf(".") >= 0){ /* 读取.amr文件 */ String fileS = files[i].getName().substring( files[i].getName().indexOf(".")); if (fileS.toLowerCase().equals(suffix)) recordFiles.add(files[i].getName()); } } } return recordFiles; }
标签:
原文地址:http://www.cnblogs.com/huangzx/p/4452891.html