A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 吴光新 黑马帝   /  2013-8-13 01:15  /  3137 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. package com.cons.dcg.collect;

  2. import java.io.File;
  3. import java.text.SimpleDateFormat;
  4. import java.util.*;
  5. import android.app.*;
  6. import android.content.Intent;
  7. import android.database.Cursor;
  8. import android.net.Uri;
  9. import android.os.AsyncTask;
  10. import android.os.Bundle;
  11. import android.os.Environment;
  12. import android.provider.MediaStore;
  13. import android.view.*;
  14. import android.widget.*;

  15. public class RecordActivity extends Activity implements OnClickListener {

  16.         private static final int RESULT_CAPTURE_IMAGE = 1;// 照相的requestCode
  17.         private static final int REQUEST_CODE_TAKE_VIDEO = 2;// 摄像的照相的requestCode
  18.         private static final int RESULT_CAPTURE_RECORDER_SOUND = 3;// 录音的requestCode
  19.       
  20.         private String strImgPath = "";// 照片文件绝对路径
  21.         private String strVideoPath = "";// 视频文件的绝对路径
  22.         private String strRecorderPath = "";// 录音文件的绝对路径

  23.         @Override
  24.         protected void onCreate(Bundle savedInstanceState) {
  25.                 super.onCreate(savedInstanceState);
  26.                 this.setContentView(R.layout.problem_report);
  27.         }

  28.         @Override
  29.         protected void onActivityResult(int requestCode, int resultCode, Intent data) {
  30.                 super.onActivityResult(requestCode, resultCode, data);
  31.                 switch (requestCode) {
  32.                 case RESULT_CAPTURE_IMAGE://拍照
  33.                         if (resultCode == RESULT_OK) {
  34.                                 Toast.makeText(this, strImgPath, Toast.LENGTH_SHORT).show();
  35.                         }
  36.                         break;
  37.                 case REQUEST_CODE_TAKE_VIDEO://拍摄视频
  38.                         if (resultCode == RESULT_OK) {
  39.                                 Uri uriVideo = data.getData();
  40.                                 Cursor cursor=this.getContentResolver().query(uriVideo, null, null, null, null);
  41.                                 if (cursor.moveToNext()) {
  42.                                         /** _data:文件的绝对路径 ,_display_name:文件名 */
  43.                                         strVideoPath = cursor.getString(cursor.getColumnIndex("_data"));
  44.                                         Toast.makeText(this, strVideoPath, Toast.LENGTH_SHORT).show();
  45.                                 }
  46.                         }
  47.                         break;
  48.                 case RESULT_CAPTURE_RECORDER_SOUND://录音
  49.                         if (resultCode == RESULT_OK) {
  50.                                 Uri uriRecorder = data.getData();
  51.                                 Cursor cursor=this.getContentResolver().query(uriRecorder, null, null, null, null);
  52.                                 if (cursor.moveToNext()) {
  53.                                         /** _data:文件的绝对路径 ,_display_name:文件名 */
  54.                                         strRecorderPath = cursor.getString(cursor.getColumnIndex("_data"));
  55.                                         Toast.makeText(this, strRecorderPath, Toast.LENGTH_SHORT).show();
  56.                                 }
  57.                         }
  58.                         break;
  59.                 }
  60.         }
  61.       
  62.       

  63.         /**
  64.          * 照相功能
  65.          */
  66.         private void cameraMethod() {
  67.                 Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
  68.                 strImgPath = Environment.getExternalStorageDirectory().toString() + "/CONSDCGMPIC/";//存放照片的文件夹
  69.                 String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + ".jpg";//照片命名
  70.                 File out = new File(strImgPath);
  71.                 if (!out.exists()) {
  72.                         out.mkdirs();
  73.                 }
  74.                 out = new File(strImgPath, fileName);
  75.                 strImgPath = strImgPath + fileName;//该照片的绝对路径
  76.                 Uri uri = Uri.fromFile(out);
  77.                 imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
  78.                 imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
  79.                 startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);

  80.         }

  81.         /**
  82.          * 拍摄视频
  83.          */
  84.         private void videoMethod() {
  85.                 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
  86.                 intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
  87.                 startActivityForResult(intent, REQUEST_CODE_TAKE_VIDEO);
  88.         }

  89.         /**
  90.          * 录音功能
  91.          */
  92.         private void soundRecorderMethod() {
  93.                 Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
  94.                 intent.setType("audio/amr");
  95.                 startActivityForResult(intent, RESULT_CAPTURE_RECORDER_SOUND);
  96.         }

  97.         /**
  98.          * 提示信息
  99.          * @param text
  100.          * @param duration
  101.          */
  102.         private void showToast(String text, int duration) {
  103.                 Toast.makeText(ProblemReport.this, text, duration).show();
  104.         }
  105. }
复制代码

6 个回复

倒序浏览
可不可以,一边录像,一边传到电脑。。传输方式局部网,用一个无线路由器连接手机和电脑,做的
回复 使用道具 举报
{:soso_e100:}
回复 使用道具 举报
学习一下
回复 使用道具 举报
好像很厉害的样子
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
wkl17 初级黑马 2014-5-12 14:53:33
7#
不错哦....

成功的花,
人们只惊羡她现时的明艳!
然而当初她的芽儿,
浸透了奋斗的泪泉,
洒遍了牺牲的血雨。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马