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
- android_69_camera_videoCapture
- javaScript实现焦点轮播图界面效果(五)
- UVA 1395
- nignx配置 underscore的排序函数 sortBy
- Julia实现任意时间周期转换,比如Tick转5分钟周期
- 数据规整化
- android_69_camera_videoCapture
- static关键字
- [FFMPEG-AVFILTERS]文字
- CSS3弹性布局内容对齐(justify-content)属性使用详解
- 战略管理概述
- 中英文字体对照表
- maven 为何要模块划分-聚合/继承
- 大一BFS入门
- ACM测试---5-11 抓老鼠啊~亏了还是赚了? (20分)