• 拍照


     引用http://www.oschina.net/code/snippet_163910_6069

    [文件] RecordActivity.java ~ 5KB    下载(12)

    001 package com.cons.dcg.collect;
    002  
    003 import java.io.File;
    004 import java.text.SimpleDateFormat;
    005 import java.util.*;
    006 import android.app.*;
    007 import android.content.Intent;
    008 import android.database.Cursor;
    009 import android.net.Uri;
    010 import android.os.AsyncTask;
    011 import android.os.Bundle;
    012 import android.os.Environment;
    013 import android.provider.MediaStore;
    014 import android.view.*;
    015 import android.widget.*;
    016  
    017 public class RecordActivity extends Activity implements OnClickListener {
    018  
    019         private static final int RESULT_CAPTURE_IMAGE = 1;// 照相的requestCode
    020         private static final int REQUEST_CODE_TAKE_VIDEO = 2;// 摄像的照相的requestCode
    021         private static final int RESULT_CAPTURE_RECORDER_SOUND = 3;// 录音的requestCode
    022         
    023         private String strImgPath = "";// 照片文件绝对路径
    024         private String strVideoPath = "";// 视频文件的绝对路径
    025         private String strRecorderPath = "";// 录音文件的绝对路径
    026  
    027         @Override
    028         protected void onCreate(Bundle savedInstanceState) {
    029                 super.onCreate(savedInstanceState);
    030                 this.setContentView(R.layout.problem_report);
    031         }
    032  
    033         @Override
    034         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    035                 super.onActivityResult(requestCode, resultCode, data);
    036                 switch (requestCode) {
    037                 case RESULT_CAPTURE_IMAGE://拍照
    038                         if (resultCode == RESULT_OK) {
    039                                 Toast.makeText(this, strImgPath, Toast.LENGTH_SHORT).show();
    040                         }
    041                         break;
    042                 case REQUEST_CODE_TAKE_VIDEO://拍摄视频
    043                         if (resultCode == RESULT_OK) {
    044                                 Uri uriVideo = data.getData();
    045                                 Cursor cursor=this.getContentResolver().query(uriVideo,nullnullnullnull);
    046                                 if (cursor.moveToNext()) {
    047                                         /** _data:文件的绝对路径 ,_display_name:文件名 */
    048                                         strVideoPath = cursor.getString(cursor.getColumnIndex("_data"));
    049                                         Toast.makeText(this, strVideoPath, Toast.LENGTH_SHORT).show();
    050                                 }
    051                         }
    052                         break;
    053                 case RESULT_CAPTURE_RECORDER_SOUND://录音
    054                         if (resultCode == RESULT_OK) {
    055                                 Uri uriRecorder = data.getData();
    056                                 Cursor cursor=this.getContentResolver().query(uriRecorder, nullnullnullnull);
    057                                 if (cursor.moveToNext()) {
    058                                         /** _data:文件的绝对路径 ,_display_name:文件名 */
    059                                         strRecorderPath = cursor.getString(cursor.getColumnIndex("_data"));
    060                                         Toast.makeText(this, strRecorderPath, Toast.LENGTH_SHORT).show();
    061                                 }
    062                         }
    063                         break;
    064                 }
    065         }
    066         
    067         
    068  
    069         /**
    070          * 照相功能
    071          */
    072         private void cameraMethod() {
    073                 Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    074                 strImgPath = Environment.getExternalStorageDirectory().toString() +"/CONSDCGMPIC/";//存放照片的文件夹
    075                 String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(newDate()) + ".jpg";//照片命名
    076                 File out = new File(strImgPath);
    077                 if (!out.exists()) {
    078                         out.mkdirs();
    079                 }
    080                 out = new File(strImgPath, fileName);
    081                 strImgPath = strImgPath + fileName;//该照片的绝对路径
    082                 Uri uri = Uri.fromFile(out);
    083                 imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
    084                 imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
    085                 startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);
    086  
    087         }
    088  
    089         /**
    090          * 拍摄视频
    091          */
    092         private void videoMethod() {
    093                 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    094                 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
    095                 startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
    096         }
    097  
    098         /**
    099          * 录音功能
    100          */
    101         private void soundRecorderMethod() {
    102                 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    103                 intent.setType("audio/amr");
    104                 startActivityForResult(intent, RESULT_CAPTURE_RECORDER_SOUND);
    105         }
    106  
    107         /**
    108          * 提示信息
    109          * @param text
    110          * @param duration
    111          */
    112         private void showToast(String text, int duration) {
    113                 Toast.makeText(ProblemReport.this, text, duration).show();
    114         }
    115 }
  • 相关阅读:
    expect简介和使用例子(转)
    openshift网络
    openstack相关
    SDN的开源方案sonic
    OpenStack Neutron ML2 Deep Dive
    2017双11技术揭秘—阿里数据库计算存储分离与离在线混布
    es的gui工具
    django orm中blank和null的区别
    断关联多表关系阐述
    视图使用
  • 原文地址:https://www.cnblogs.com/sode/p/2186463.html
Copyright © 2020-2023  润新知