xml文件
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="录音" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开启录音" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止录音" />
activity:
private Button button1; private Button button2; private MediaRecorder mr; File path; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_audio); button1=(Button) findViewById(R.id.button1); button2=(Button) findViewById(R.id.button2); button1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub File file=new File("/sdcard/audio"); if(!file.exists()){ file.mkdirs(); } path=new File(file+"/YY"+new DateFormat().format("yyyyMMdd_hhmmss", Calendar.getInstance(Locale.CHINA))+".amr"); Toast.makeText(getApplicationContext(), "正在录音,录音文件在"+path.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(path.getAbsolutePath()); try { // 创建文件 path.createNewFile(); // 准备录制 mr.prepare(); // 开始录制 mr.start(); button1.setText("录音中……"); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }); // 停止按钮点击事件 button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mr != null) { mr.stop(); mr.reset(); //重设 mr.release(); mr = null; // button1.setText("录音"); Toast.makeText(getApplicationContext(), "录音完毕", Toast.LENGTH_LONG).show(); } } }); }
时间: 2024-11-08 04:34:02