import java.io.File;
import java.io.IOException;
import java.util.Calendar;
import java.util.Locale;

import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.text.format.DateFormat;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {

private Button recordButton;
private Button stopButton;

private MediaRecorder mr;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

recordButton = (Button) this.findViewById(R.id.Button01);
stopButton = (Button) this.findViewById(R.id.Button02);

// 录音按钮点击事件
recordButton.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

File file = new File("/sdcard/"+ "YY"+ new DateFormat().format("yyyyMMdd_HHmmss",Calendar.getInstance(Locale.CHINA)) + ".amr");

Toast.makeText(getApplicationContext(), "正在录音,录音文件在"+file.getAbsolutePath(), Toast.LENGTH_LONG)
.show();

// 创建录音对象
mr = new MediaRecorder();

// 从麦克风源进行录音
mr.setAudioSource(MediaRecorder.AudioSource.DEFAULT);

// 设置输出格式
mr.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);

// 设置编码格式
mr.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);

// 设置输出文件
mr.setOutputFile(file.getAbsolutePath());

try {
// 创建文件
file.createNewFile();
// 准备录制
mr.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 开始录制
mr.start();
recordButton.setText("录音中……");
}
});

// 停止按钮点击事件
stopButton.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

if (mr != null) {
mr.stop();
mr.release();
mr = null;
recordButton.setText("录音");
Toast.makeText(getApplicationContext(), "录音完毕", Toast.LENGTH_LONG).show();
}
}
});

}

}



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

更多相关文章

  1. android sqlite 增删查 demo
  2. Android客户端GPS定位源码
  3. Android给support_v4.jar包添加源码和doc文档
  4. 解决android 4.0 EditText无框的烦恼
  5. Android中PopupWindow的使用
  6. DialogFragment设置自定义动画
  7. Android(安卓)Recyclerview设置条目属性动画
  8. Android(安卓)实现监听事件的几种方法
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android——ImageView设置圆形边框
  2. android uid gid
  3. android中获取手机短信,删除短信功能
  4. Aandroid 关于处理个推透传消息
  5. Java W3C 生成 XML
  6. Android与服务器http连接模块代码
  7. android--widget之menu
  8. HandlerTest
  9. MediaTest
  10. 仿微信运动步数折线统计图