android_69_camera_videoCapture

来源:互联网 发布:看淘宝 编辑:程序博客网 时间:2024/06/16 22:35

效果:



清单:



布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.sg31.camera.MainActivity"    >    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="启动拍照程序"         android:onClick="cameraBtnClicked"        />    <Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="启动摄像程序"         android:onClick="recordBtnClicked"        /></LinearLayout>



代码:

package com.sg31.camera;import java.io.File;import java.text.SimpleDateFormat;import java.util.Date;import android.support.v7.app.ActionBarActivity;import android.content.Intent;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.widget.Toast;public class MainActivity extends ActionBarActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == 1000) {Toast.makeText(this, "拍照成功", 0).show();} else if (requestCode == 2000) {Toast.makeText(this, "摄像成功", 0).show();}}public void cameraBtnClicked(View v) {// 启动系统提供的拍照activityIntent intent = new Intent();String fileName = tool_currentDateTime() + ".jpg";intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory(), fileName)));startActivityForResult(intent, 1000);}public void recordBtnClicked(View v) {// 启动系统提供的摄像activityIntent intent = new Intent();String fileName = tool_currentDateTime() + ".3gp";intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(Environment.getExternalStorageDirectory(), fileName)));intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);startActivityForResult(intent, 2000);}public String tool_currentDateTime() {  Date nowTime = new Date(System.currentTimeMillis());  SimpleDateFormat sdFormatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  String retStrFormatNowDate = sdFormatter.format(nowTime);  return retStrFormatNowDate;}}














0 0
原创粉丝点击