android---MediaRecorder

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



public class MediaCaptureActivity extends Activity {

    private MediaRecorder recorder;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.capture);
        
        Button start = (Button)findViewById(R.id.startRecord);
        Button stop = (Button)findViewById(R.id.stopRecord);
        recorder = new MediaRecorder();
        
        start.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
//                SurfaceView sv = (SurfaceView)findViewById(R.id.surfaceView);
                
                
//                recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
                recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//                recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                recorder.setOutputFormat(MediaRecorder.OutputFormat.RAW_AMR);
//                recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
                recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
                File path = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/myVideo/");
                path.mkdirs();
                System.out.println("==================" + path.getAbsolutePath());
                
//                recorder.setVideoFrameRate(20);
//                recorder.setVideoSize(100, 100);
                
//                recorder.setPreviewDisplay(sv.getHolder().getSurface());
                
                try {
                    File file = File.createTempFile("myAudio", ".amr", path);
                    
                    recorder.setOutputFile(file.getAbsolutePath());
                    recorder.prepare();
                } catch (IllegalStateException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                
                recorder.start();
            }
        });
        
        stop.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                recorder.stop();
            }
        });
        
    }
    
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值