设为首页 加入收藏

TOP

Android开发之打开闪光灯录制视频(三)
2015-07-16 12:57:40 来源: 作者: 【 】 浏览:43
Tags:Android 开发 打开 闪光灯 录制 视频
ner);? ? ? ? ?
? ? }


? ? @Override
? ? protected void onDestroy() {
? ? ? ? // TODO Auto-generated method stub
? ? ? ? if(mediaRecorder!=null)
? ? ? ? ? ? mediaRecorder.release();
? ? ? ? super.onDestroy();
? ? }


? ? @Override
? ? protected void onPause() {
? ? ? ? // TODO Auto-generated method stub
? ? ? ? super.onPause();
? ? }


? ? @Override
? ? protected void onResume() {
? ? ? ? // TODO Auto-generated method stub
? ? ? ? super.onResume();
? ? }
? ? private final class ButtonClickListener implements View.OnClickListener{
? ? ? ? @Override
? ? ? ? public void onClick(View v) {
? ? ? ? ? ? if(!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
? ? ? ? ? ? ? ? Toast.makeText(RecordVideoActivity.this, "木有检测到SD扩展卡", 1).show();
? ? ? ? ? ? ? ? return ;
? ? ? ? ? ? }
? ? ? ? ? ? try {
? ? ? ? ? ? ? ? switch (v.getId()) {
? ? ? ? ? ? ? ? case R.id.rv_record:
? ? ? ? ? ? ? ? ? ? // 要求输入用户名
? ? ? ? ? ? ? ? ? ? String testuser;
? ? ? ? ? ? ? ? ? ? if(testusername.getText()==null || testusername.getText().toString().equals("")){
? ? ? ? ? ? ? ? ? ? ? ? Toast.makeText(RecordVideoActivity.this, "请输入测试者姓名", Toast.LENGTH_LONG).show();
? ? ? ? ? ? ? ? ? ? ? ? return;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? ? ? Log.i(TAG,"检测通过");
? ? ? ? ? ? ? ? ? ? recordOver = false;
? ? ? ? ? ? ? ? ? ? testuser = testusername.getText().toString();
? ? ? ? ? ? ? ? ? ? testuser = android.os.Build.MODEL + "-" + testuser;
? ? ? ? ? ? ? ? ? ? mediaRecorder.reset();
? ? ? ? ? ? ? ? ? ? if(isSurportFlashlight(RecordVideoActivity.this)){
? ? ? ? ? ? ? ? ? ? ? ? if (camera == null)
? ? ? ? ? ? ? ? ? ? ? ? ? ? camera = Camera.open();
? ? ? ? ? ? ? ? ? ? ? ? Camera.Parameters myParameters = camera.getParameters();
? ? ? ? ? ? ? ? ? ? ? ? myParameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
? ? ? ? ? ? ? ? ? ? ? ? camera.setParameters(myParameters);
? ? ? ? ? ? ? ? ? ? ? ? camera.startPreview();
? ? ? ? ? ? ? ? ? ? ? ? camera.unlock();
? ? ? ? ? ? ? ? ? ? ? ? mediaRecorder.setCamera(camera);
? ? ? ? ? ? ? ? ? ? }? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
? ? ? ? ? ? ? ? ? ? //mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
? ? ? ? ? ? ? ? ? ? mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
? ? ? ? ? ? ? ? ? ? mediaRecorder.setVideoSize(320, 240);
? ? ? ? ? ? ? ? ? ? mediaRecorder.setVideoFrameRate(30); //每秒30帧
? ? ? ? ? ? ? ? ? ? mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.H263);
? ? ? ? ? ? ? ? ? ? //mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
? ? ? ? ? ? ? ? ? ? SimpleDateFormat ff = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
? ? ? ? ? ? ? ? ? ? String recordTimeString = String.valueOf(ff.format(System.currentTimeMillis()));? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? File videoFile = IOUtil.CreateNewFile(Environment.getExternalStorageDirectory().getPath()+"/phonedoctor/video",
? ? ? ? ? ? ? ? ? ? ? ? ? ? testuser + "-" + recordTimeString+".3gp",null);
? ? ? ? ? ? ? ? ? ? mediaRecorder.setOutputFile(videoFile.getAbsolutePath());
? ? ? ? ? ? ? ? ? ? mediaRecorder.setPreviewDisplay(surfaceView.getHolder().getSurface());
? ? ? ? ? ? ? ? ? ? mediaRecorder.prepare();
? ? ? ? ? ? ? ? ? ? mediaRecorder.start();? ? //? ? 开始录制
? ? ? ? ? ? ? ? ? ? // 开启计时线程
? ? ? ? ? ? ? ? ? ? myChronograph = new MyChronograph(mHandler,60000);
? ? ? ? ? ? ? ? ? ? myChronograph.start();
? ? ? ? ? ? ? ? ? ? Toast.makeText(RecordVideoActivity.this, "开始录制视频!", Toast.LENGTH_SHORT).show();
? ? ? ? ? ? ? ? ? ? record = true;
? ? ? ? ? ? ? ? ? ? ((Button)findViewById(R.id.rv_record)).setEnabled(false);
? ? ? ? ? ? ? ? ? ? break;


? ? ? ? ? ? ? ? case R.id.rv_stop:
? ? ? ? ? ? ? ? ? ? if(record){
? ? ? ? ? ? ? ? ? ? ? ? record = false;
? ? ? ?

首页 上一页 1 2 3 4 5 6 下一页 尾页 3/6/6
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Android平台之不预览获取照相机预.. 下一篇Android设置选项开发及自定义Pref..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: