android 錄音

  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("");
    }
    
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章