package com.example.HyyRecord; import android.app.Activity; import android.content.Intent; import android.media.MediaRecorder; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.view.View; import java.io.File; import java.io.IOException; public class MyActivity extends Activity { private MediaRecorder mediaRecorder; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //首先要保证这个文件夹存在 File file = new File("/sdcard/0hyyRecord"); if (!file.exists()) { file.mkdir(); } mediaRecorder = new MediaRecorder(); mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); mediaRecorder.setOutputFile("/sdcard/0hyyRecord/" + System.currentTimeMillis() + ".3pg"); } public void startRecord(View view) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { try { mediaRecorder.prepare(); } catch (IOException e) { e.printStackTrace(); } mediaRecorder.start(); } else { System.out.println("sd卡不可用"); } } public void stopRecord(View view) { mediaRecorder.stop(); mediaRecorder.reset(); } @Override protected void onDestroy() { try { mediaRecorder.release(); } catch (Exception e) { e.printStackTrace(); } super.onDestroy(); } }
界面文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="开始录音" android:onClick="startRecord" /> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="停止录音" android:onClick="stopRecord" /> </LinearLayout>