package com.test.audio;
import java.io.File;
import android.app.Activity;
import android.media.MediaRecorder;
import android.os.Bundle;
import android.os.Environment;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class AudioActivity extends Activity {


    
        private Button record,play;
        
        MediaRecorder recorder ;
        
    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        record = (Button) findViewById(R.id.record);
        play = (Button) findViewById(R.id.play);
        record.setOnClickListener(new OnClickListener() {

                        
                        @Override
                        public void onClick(View v) {

                                
                                if(record.getTag()==null || !record.getTag().equals("ing")){

                                        start();
                                }else{

                                        stopAndSave();
                                }
                        }
                });
    }
    
    
    private void start(){

            
            try {

                     recorder = new MediaRecorder();
                         recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                         recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
                         recorder.setAudioEncoder(3);
                         String path = Environment.getExternalStorageDirectory()+File.separator + "test.mp3";
                        if(!new File(path).exists()) new File(path).createNewFile();
                         recorder.setOutputFile(path);
                         recorder.prepare();
                         recorder.start();   // Recording is now started
                } catch (Exception e) {

                         Log.e("", "prepare() failed");
                }
                record.setTag("ing");
                record.setText("停止录音");
    }
    
    private void stopAndSave(){

            recorder.stop();
//            recorder.reset();
            recorder.release();
            recorder = null;
            record.setText("开始录音");
            record.setTag("");
    }
    
}