Android中提供了MediaRecorder类来录制音频,过程很简单,只需按步骤执行即可:

下面用一个简单实例来演示MediaRecorder的使用:

Activity:

package com.home.activity;import java.io.File;import com.home.testrecord.R;import android.app.Activity;import android.media.MediaRecorder;import android.os.Bundle;import android.os.Environment;import android.view.View;import android.view.View.OnClickListener;import android.widget.Toast;import android.widget.ToggleButton;public class TestRecordActivity extends Activity implements OnClickListener {private ToggleButton recordBtn;private MediaRecorder mediaRecorder;// 系统的音频文件private File soundFile;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);recordBtn = (ToggleButton) findViewById(R.id.main_toggleButton);recordBtn.setOnClickListener(this);}@Overridepublic void onClick(View v) {if (recordBtn.isChecked()) {if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {Toast.makeText(this, "SD卡不存在,请插入SD卡!", Toast.LENGTH_LONG).show();return;}// 创建保存录音的音频文件soundFile = new File(Environment.getExternalStorageDirectory()+ "/mysound.amr");// 创建录制音频的对象mediaRecorder = new MediaRecorder();// 设置录音的声音来源,一般来自于麦克风mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);// 设置录制的声音输出格式(必须在设置声音编码格式之前设置)mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);// 设置声音编码格式mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);// 设置声音的输出路径mediaRecorder.setOutputFile(soundFile.getAbsolutePath());// 准备录音try {mediaRecorder.prepare();// 开始录音mediaRecorder.start();} catch (Exception e) {e.printStackTrace();}} else {if (soundFile != null && soundFile.exists()) {// 停止录制mediaRecorder.stop();// 释放资源mediaRecorder.release();mediaRecorder = null;}}}@Overrideprotected void onDestroy() {super.onDestroy();if (soundFile != null && soundFile.exists()) {// 停止录制mediaRecorder.stop();// 释放资源mediaRecorder.release();mediaRecorder = null;}}}

注意需要加上相应权限:

 <uses-permission android:name="android.permission.RECORD_AUDIO" />    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />



更多相关文章

  1. android/java中短信pdu编码
  2. android上传文件至服务器(android端+服务器端)
  3. Android使用WebView浏览有声音或者视频的网页,关闭WebView之后,声
  4. android studio生成JKS时候提示:JKS 密钥库使用专用格式。建议使
  5. Android格式化外部设备如USB等
  6. Android(安卓)【将图片网址Url转化为Bitmap工具类】
  7. Android通过摇晃手机的频率来控制声音的频率
  8. Android录音mp3格式
  9. Android(安卓)解读main log和event log日志信息

随机推荐

  1. adb devices 找不到设备的解决方法
  2. [ubuntu 10.04 64bit][android]编译时报
  3. android:动态申请权限(一)
  4. android 循环滚动实现
  5. 关闭Android开机锁屏
  6. Android下打开/关闭wifi 及 状态(5个)的
  7. Android(安卓)LayoutEditor使Eclipse自动
  8. Android(安卓)中使用OpenGL ES进行2D开发
  9. Android应用实例之----基于Service与Cont
  10. Android(安卓)动画效果 --Animation 动画