Android拍照、录像、录音代码范例

无鸯

Android拍照、录像、录音代码范例

无鸯 发布于 2011年09月06日 14时, 11评/14257阅
分享到 
收藏 +87
踩 顶 1
<无详细内容>
标签: Android SDK 精华

代码片段(1)[全屏查看所有代码]

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

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 classRecordActivity extends Activity implements OnClickListener {
018  
019         privatestatic final int RESULT_CAPTURE_IMAGE = 1;// 照相的requestCode
020         privatestatic final int REQUEST_CODE_TAKE_VIDEO = 2;// 摄像的照相的requestCode
021         privatestatic final int RESULT_CAPTURE_RECORDER_SOUND = 3;// 录音的requestCode
022         
023         privateString strImgPath = "";// 照片文件绝对路径
024         privateString strVideoPath = "";// 视频文件的绝对路径
025         privateString strRecorderPath = "";// 录音文件的绝对路径
026  
027         @Override
028         protectedvoid onCreate(Bundle savedInstanceState) {
029                 super.onCreate(savedInstanceState);
030                 this.setContentView(R.layout.problem_report);
031         }
032  
033         @Override
034         protectedvoid onActivityResult(intrequestCode, int resultCode, Intent data) {
035                 super.onActivityResult(requestCode, resultCode, data);
036                 switch(requestCode) {
037                 caseRESULT_CAPTURE_IMAGE://拍照
038                         if(resultCode == RESULT_OK) {
039                                 Toast.makeText(this, strImgPath, Toast.LENGTH_SHORT).show();
040                         }
041                         break;
042                 caseREQUEST_CODE_TAKE_VIDEO://拍摄视频
043                         if(resultCode == RESULT_OK) {
044                                 Uri uriVideo = data.getData();
045                                 Cursor cursor=this.getContentResolver().query(uriVideo,null, null,null, null);
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                 caseRESULT_CAPTURE_RECORDER_SOUND://录音
054                         if(resultCode == RESULT_OK) {
055                                 Uri uriRecorder = data.getData();
056                                 Cursor cursor=this.getContentResolver().query(uriRecorder,null, null,null, null);
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         privatevoid 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         privatevoid 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         privatevoid 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         privatevoid showToast(String text, int duration) {
113                 Toast.makeText(ProblemReport.this, text, duration).show();
114         }
115 }

你可能感兴趣的:(Android拍照、录像、录音代码范例)