package com.zzdts;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
public class RocordActivity extends Activity {
/** Called when the activity is first created. */
private static final int RESULT_CAPTURE_IMAGE = 1;//照相的requestCode
private static final int REQUEST_CODE_TAKE_VIDEO = 2;//摄像的
private static final int RESULT_CAPTURE_RECORDER_SOUND = 3;//录音的
private String strImgPath = "";//照片文件绝对路径
private String strVideoPath = "";//视频文件绝对路径
private String strRecorderPath = "";//录音文件绝对路径
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode){
case RESULT_CAPTURE_IMAGE://拍照
if(resultCode == RESULT_OK){
Toast.makeText(this, strImgPath, Toast.LENGTH_SHORT).show();
}
break;
case REQUEST_CODE_TAKE_VIDEO://拍摄视频
if(resultCode == RESULT_OK){
Uri uriVideo = data.getData();
Cursor cursor = 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;
case RESULT_CAPTURE_RECORDER_SOUND://录音
if(resultCode == RESULT_OK){
Uri uriRecorder = data.getData();
Cursor cursor = this.getContentResolver().query(uriRecorder, null, null, null, null);
if(cursor.moveToNext()){
strRecorderPath = cursor.getString(cursor.getColumnIndex("_data"));
Toast.makeText(this, strRecorderPath, Toast.LENGTH_SHORT).show();
}
}
break;
}
}
//照相功能
private void cameraMethod(){
Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
strImgPath = Environment.getExternalStorageDirectory().toString()+"/CONSDCGMPIC";//存放照片的文件夹
String fileName = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date())+".jpg";
File out = new File(strImgPath);
if(!out.exists()){
out.mkdirs();
}
out = new File(strImgPath,fileName);
strImgPath = strImgPath + fileName;//该照片的绝对路径
Uri uri = Uri.fromFile(out);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
imageCaptureIntent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(imageCaptureIntent,RESULT_CAPTURE_IMAGE);
}
//拍摄视频
private void videoMethod(){
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
startActivityForResult(intent,REQUEST_CODE_TAKE_VIDEO);
}
//录音功能
private void soundRecorderMethod(){
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/amr");
startActivityForResult(intent,RESULT_CAPTURE_RECORDER_SOUND);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);
menu.add(0, 0, 0, "照相");
menu.add(0, 1, 1,"摄像");
menu.add(0, 2, 2,"录音");
menu.add(0, 3, 3, "退出");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 0:
cameraMethod();
break;
case 1:
videoMethod();
break;
case 2:
soundRecorderMethod();
break;
case 3:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
前往页