必须在AndroidManifest中设置相应的权限:android:name="android.permission.RECORD_AUDIO"

1. 首先判定是否存在SD卡,并得到相应的路径

/* 检测是否存在SD卡 */

if (Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED))

{

/* 得到SD卡得路径 */

mRecAudioPath = Environment.getExternalStorageDirectory();

/* 更新所有录音文件到List中 */

musicList(); }

2. 录音开始

/* 创建录音文件,第一个参数是文件名前缀,第二个参数是后缀,第三个参数是SD路径 */

mRecAudioFile = File.createTempFile(strTempFile, ".amr", mRecAudioPath);

/* 实例化MediaRecorder对象 */

mMediaRecorder = new MediaRecorder();

/* 设置麦克风 */

mMediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);

/* 设置输出文件的格式 */

mMediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);

/* 设置音频文件的编码 */

mMediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

/* 设置输出文件的路径 */

mMediaRecorder.setOutputFile(mRecAudioFile.getAbsolutePath());

/* 准备 */

mMediaRecorder.prepare();

/* 开始 */

mMediaRecorder.start();

3.录音关闭

mMediaRecorder.stop();

4.播放录音文件

Intent intent = new Intent();

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.setAction(android.content.Intent.ACTION_VIEW); /* 设置文件类型 */ intent.setDataAndType(Uri.fromFile(file), "audio"); startActivity(intent);

5.过滤文件类型,实现FilenameFilter

class MusicFilter implements FilenameFilter { public boolean accept(File dir, String name) { return (name.endsWith(".amr")); }

}

更多相关文章

  1. NPM 和webpack 的基础使用
  2. 【阿里云镜像】使用阿里巴巴DNS镜像源——DNS配置教程
  3. 有米平台 发布android软件教程
  4. android开发之res下的menu (xml+代码的形式)
  5. android jni 调用结构体示例
  6. Android(安卓)播放音乐文件与视频文件
  7. android ViewPager 使用方法
  8. android eclipse 项目相互引用设置
  9. Android(安卓)横竖屏切换

随机推荐

  1. Android内存泄漏剖析之AsyncTask
  2. Android(安卓)View的事件传递机制
  3. Android(安卓)PullToRefresh(下拉刷新)的使
  4. Android(安卓)Google Calendar 日曆同步
  5. Android(安卓)NestedScroll嵌套滑动机制
  6. AndroidStudio3.x 打开Android(安卓)Devi
  7. OMG,终于解决了IntelliJ IDEA配合Android
  8. imageview 自适应各种屏幕尺寸
  9. Android之SharedPreference轻量级数据存
  10. android传感器学习之采样率和属性