MediaRecorder可以进行简单的录音,由于操作简单所以可以用来进行基本的录音。
下面提供一个简单的例子,记得在Mainfest文件中添加权限。
代码如下:
- package com.ppmeet;
- import java.io.IOException;
- import android.app.Activity;
- import android.graphics.PixelFormat;
- import android.media.MediaRecorder;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.view.Window;
- import android.view.WindowManager;
- import android.widget.Button;
- /**
- * class name:TestBasicAudio<BR>
- * class description:Basic Record Audio Demo<BR>
- *
- * @version 1.00 2011/12/01
- * @author CODYY)peijiangping
- */
- public class TestBasicAudio extends Activity {
- private Button button_start;
- private Button button_stop;
- private MediaRecorder recorder;
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- getWindow().setFormat(PixelFormat.TRANSLUCENT);// 让界面横屏
- requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉界面标题
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
- WindowManager.LayoutParams.FLAG_FULLSCREEN);
- // 重新设置界面大小
- setContentView(R.layout.main);
- init();
- }
- private void init() {
- button_start = (Button) this.findViewById(R.id.start);
- button_stop = (Button) this.findViewById(R.id.stop);
- button_stop.setOnClickListener(new AudioListerner());
- button_start.setOnClickListener(new AudioListerner());
- }
- class AudioListerner implements OnClickListener {
- @Override
- public void onClick(View v) {
- if (v == button_start) {
- initializeAudio();
- }
- if (v == button_stop) {
- recorder.stop();// 停止刻录
- // recorder.reset(); // 重新启动MediaRecorder.
- recorder.release(); // 刻录完成一定要释放资源
- // recorder = null;
- }
- }
- private void initializeAudio() {
- recorder = new MediaRecorder();// new出MediaRecorder对象
- recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
- // 设置MediaRecorder的音频源为麦克风
- recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
- // 设置MediaRecorder录制的音频格式
- recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
- // 设置MediaRecorder录制音频的编码为amr.
- recorder.setOutputFile("/sdcard/peipei.amr");
- // 设置录制好的音频文件保存路径
- try {
- recorder.prepare();// 准备录制
- recorder.start();// 开始录制
- } catch (IllegalStateException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
AndroidMainfest.xml
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.ppmeet"
- android:versionCode="1"
- android:versionName="1.0" >
- <uses-sdk android:minSdkVersion="8" />
- <application
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name" >
- <activity
- android:name=".TestBasicAudio"
- android:screenOrientation="landscape" >
- <intent-filter >
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- </application>
- <!-- 联网权限 -->
- <uses-permission android:name="android.permission.INTERNET" />
- <!-- 往SDCard写入数据权限 -->
- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
- <!-- 录音权限 -->
- <uses-permission android:name="android.permission.RECORD_AUDIO" />
- <!-- 在SDCard中创建与删除文件权限 -->
- <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
- </manifest>