Android实现拍照、录像、录音代码范例
本文主要介绍Android实现拍照、录像、录音代码的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。
RecordActivity.java
packagecom.cons.dcg.collect;
importjava.io.File;
importjava.text.SimpleDateFormat;
importjava.util.*;
importandroid.app.*;
importandroid.content.Intent;
importandroid.database.Cursor;
importandroid.net.Uri;
importandroid.os.AsyncTask;
importandroid.os.Bundle;
importandroid.os.Environment;
importandroid.provider.MediaStore;
importandroid.view.*;
importandroid.widget.*;
publicclassRecordActivityextendsActivityimplementsOnClickListener{
privatestaticfinalintRESULT_CAPTURE_IMAGE=1;//照相的requestCode
privatestaticfinalintREQUEST_CODE_TAKE_VIDEO=2;//摄像的照相的requestCode
privatestaticfinalintRESULT_CAPTURE_RECORDER_SOUND=3;//录音的requestCode
privateStringstrImgPath="";//照片文件绝对路径
privateStringstrVideoPath="";//视频文件的绝对路径
privateStringstrRecorderPath="";//录音文件的绝对路径
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
this.setContentView(R.layout.problem_report);
}
@Override
protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){
super.onActivityResult(requestCode,resultCode,data);
switch(requestCode){
caseRESULT_CAPTURE_IMAGE://拍照
if(resultCode==RESULT_OK){
Toast.makeText(this,strImgPath,Toast.LENGTH_SHORT).show();
}
break;
caseREQUEST_CODE_TAKE_VIDEO://拍摄视频
if(resultCode==RESULT_OK){
UriuriVideo=data.getData();
Cursorcursor=this.getContentResolver().query(uriVideo,null,null,null,null);
if(cursor.moveToNext()){
/**_data:文件的绝对路径,_display_name:文件名*/
strVideoPath=cursor.getString(cursor.getColumnIndex("_data"));
Toast.makeText(this,strVideoPath,Toast.LENGTH_SHORT).show();
}
}
break;
caseRESULT_CAPTURE_RECORDER_SOUND://录音
if(resultCode==RESULT_OK){
UriuriRecorder=data.getData();
Cursorcursor=this.getContentResolver().query(uriRecorder,null,null,null,null);
if(cursor.moveToNext()){
/**_data:文件的绝对路径,_display_name:文件名*/
strRecorderPath=cursor.getString(cursor.getColumnIndex("_data"));
Toast.makeText(this,strRecorderPath,Toast.LENGTH_SHORT).show();
}
}
break;
}
}
/**
*照相功能
*/
privatevoidcameraMethod(){
IntentimageCaptureIntent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);
strImgPath=Environment.getExternalStorageDirectory().toString()+"/CONSDCGMPIC/";//存放照片的文件夹
StringfileName=newSimpleDateFormat("yyyyMMddHHmmss").format(newDate())+".jpg";//照片命名
Fileout=newFile(strImgPath);
if(!out.exists()){
out.mkdirs();
}
out=newFile(strImgPath,fileName);
strImgPath=strImgPath+fileName;//该照片的绝对路径
Uriuri=Uri.fromFile(out);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT,uri);
imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,1);
startActivityForResult(imageCaptureIntent,RESULT_CAPTURE_IMAGE);
}
/**
*拍摄视频
*/
privatevoidvideoMethod(){
Intentintent=newIntent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY,0);
startActivityForResult(intent,REQUEST_CODE_TAKE_VIDEO);
}
/**
*录音功能
*/
privatevoidsoundRecorderMethod(){
Intentintent=newIntent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/amr");
startActivityForResult(intent,RESULT_CAPTURE_RECORDER_SOUND);
}
/**
*提示信息
*@paramtext
*@paramduration
*/
privatevoidshowToast(Stringtext,intduration){
Toast.makeText(ProblemReport.this,text,duration).show();
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。