android开发文档中有一个关于录音的类MediaRecord,一张图介绍了基本的流程:


给出了一个常用的例子:
MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setOutputFile(PATH_NAME); recorder.prepare(); recorder.start();   // Recording is now started ... recorder.stop(); recorder.reset();   // You can reuse the object by going back to setAudioSource() step recorder.release(); // Now the object cannot be reused

我在这里实现了一个简单的程序,过程和上述类似,录音以及录音的播放。 1.基本界面如下:

2.工程中各文件内容如下:   2.1 Activity——RecordActivity
package com.cxf;import java.io.IOException;import android.app.Activity;import android.media.MediaPlayer;import android.media.MediaRecorder;import android.os.Bundle;import android.os.Environment;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class RecordActivity extends Activity {   private static final String LOG_TAG = "AudioRecordTest";//语音文件保存路径private String FileName = null;//界面控件private Button startRecord; private Button startPlay;private Button stopRecord;private Button stopPlay;//语音操作对象private MediaPlayer mPlayer = null;private MediaRecorder mRecorder = null;/** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                //开始录音        startRecord = (Button)findViewById(R.id.startRecord);        startRecord.setText(R.string.startRecord);        //绑定监听器        startRecord.setOnClickListener(new startRecordListener());                //结束录音        stopRecord = (Button)findViewById(R.id.stopRecord);        stopRecord.setText(R.string.stopRecord);        stopRecord.setOnClickListener(new stopRecordListener());                //开始播放        startPlay = (Button)findViewById(R.id.startPlay);        startPlay.setText(R.string.startPlay);        //绑定监听器        startPlay.setOnClickListener(new startPlayListener());                //结束播放        stopPlay = (Button)findViewById(R.id.stopPlay);        stopPlay.setText(R.string.stopPlay);        stopPlay.setOnClickListener(new stopPlayListener());                //设置sdcard的路径        FileName = Environment.getExternalStorageDirectory().getAbsolutePath();        FileName += "/audiorecordtest.3gp";    }    //开始录音    class startRecordListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stub mRecorder = new MediaRecorder();     mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);     mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);     mRecorder.setOutputFile(FileName);     mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);     try {         mRecorder.prepare();     } catch (IOException e) {         Log.e(LOG_TAG, "prepare() failed");     }     mRecorder.start();}        }    //停止录音    class stopRecordListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stub mRecorder.stop();     mRecorder.release();     mRecorder = null;}        }    //播放录音    class startPlayListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmPlayer = new MediaPlayer();try{mPlayer.setDataSource(FileName);mPlayer.prepare();mPlayer.start();}catch(IOException e){Log.e(LOG_TAG,"播放失败");}}        }    //停止播放录音    class stopPlayListener implements OnClickListener{@Overridepublic void onClick(View v) {// TODO Auto-generated method stubmPlayer.release();        mPlayer = null;}        }}
 2.2 main.xml
<?xml version="1.0" encoding="utf-8"?>    
 2.3 Manifest.xml
<?xml version="1.0" encoding="utf-8"?>                                                                                                                   
 2.4 string.xml
<?xml version="1.0" encoding="utf-8"?>        Record开始录音结束录音开始播放结束播放


更多相关文章

  1. Android——简单音乐播放器
  2. Android笔记:Android后台接口教程一(从零开始学习Android后台接口)A
  3. android学到啥时候就高级了啊
  4. 从零开始--系统深入学习android(理论-开发前准备-10.一个好的应用
  5. Android多媒体播放器源码解析(stagefright框架)
  6. Android使用FFmpeg(七)--ffmpeg实现暂停、快退快进播放
  7. android之interpolator的用法详解
  8. android 旋转动画
  9. Android(安卓)Studio 学习笔记

随机推荐

  1. Android(安卓)自定义时间选择器
  2. Android(Java):切换3g提醒
  3. Android之Gallery
  4. Android监听音量变化
  5. android山寨暴风影音UI
  6. Android(安卓)实现MD5加密
  7. Android中TabHost的使用
  8. android java 网络检测
  9. ListView入门级单击,长按监听
  10. android之Widget01