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 {@Overridepublic 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>



更多相关文章

  1. MTK(Android(安卓)N)设置SDCard为默认存储
  2. Anroid使用DefaultHttpClient访问Wap网络
  3. android 5.0 以上获取栈顶应用包名以及程序锁的实现
  4. 从内存卡读取xml文件到内存,写入xml到sd卡
  5. Android中Paint字体属性的一些设置
  6. Android(安卓)Studio常用功能配置,让开发更高效(一)
  7. Fragment中跨线程调用控件的问题
  8. Android下使用Logcat打印信息
  9. Android设置虚线、圆角、渐变

随机推荐

  1. Android(安卓)关于wifi管理的代码
  2. Android(安卓)proguard(混淆)模板
  3. Android快速开发之封装标题栏
  4. android 实现自定义隐藏式菜单
  5. android 开发环境搭建
  6. 构建更好的应用--Xamarin平台
  7. android recovery升级原理及update.zip升
  8. Android上传文件到Django服务器
  9. 疯狂android讲义---事件处理2
  10. Android常用框架