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(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。