1 import android.app.Activity; 2 import android.content.Intent; 3 import android.content.pm.PackageManager; 4 import android.database.Cursor; 5 import android.net.Uri; 6 import android.os.Bundle; 7 import android.provider.MediaStore; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 import android.widget.MediaController; 12 import android.widget.VideoView; 13 14 /* 15 * 调用系统拍照activity来录像 16 */ 17 public class Main extends Activity implements OnClickListener { 18 public VideoView videoView; 19 20 //用系统拍照activity来录像 第1步,检测Android设备是否支持照相机 21 private boolean checkCameraHardware(){ 22 if (getPackageManager().hasSystemFeature( 23 PackageManager.FEATURE_CAMERA)){ 24 return true; 25 }else{ 26 return false; 27 } 28 } 29 /* 30 * 用系统拍照activity来录像 事件 31 */ 32 public void onClick(View view) { 33 //用系统拍照activity来录像 第2步,准备intent的动作 34 Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE); 35 //用系统拍照activity来录像 第3步,启动activity,注意forResult 36 startActivityForResult(intent, 1); 37 } 38 //处理录像结果 39 @Override 40 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 41 if (requestCode == 1) { 42 if (resultCode == Activity.RESULT_OK) { 43 //注意录像后的视频文件并没有存在intent中,而把它的路径存在数据库中.intnet中只存了uri 44 //所以要从数据库中取出视频内容 45 //用系统拍照activity来录像 第4步,从intent取出视频的uri 46 Uri uri = data.getData(); 47 //用系统拍照activity来录像 第5步,得到数据库cursor 48 Cursor cursor = this.getContentResolver().query(uri, null,null, null, null); 49 50 if (cursor.moveToFirst()) { 51 //用系统拍照activity来录像 第6步,得到视频文件的路径 52 String videoPath = cursor.getString(cursor.getColumnIndex("_data")); 53 54 //用系统拍照activity来录像 第7步,用VideoView加载视频文件 55 videoView.setVideoURI(Uri.parse(videoPath)); 56 //用系统拍照activity来录像 第8步,设置VideoView的播放控制 57 videoView.setMediaController(new MediaController(this)); 58 //开始播放 59 videoView.start(); 60 } 61 } 62 } 63 } 64 65 @Override 66 public void onCreate(Bundle savedInstanceState) { 67 super.onCreate(savedInstanceState); 68 setContentView(R.layout.main); 69 Button btnTakePicture = (Button) findViewById(R.id.btnTakePicture); 70 btnTakePicture.setOnClickListener(this); 71 72 videoView = (VideoView) findViewById(R.id.videoview); 73 } 74 }