安卓使用系统相机拍照和录像
来源:互联网 发布:赵本山书法 知乎 编辑:程序博客网 时间:2024/05/20 09:45
package alice.bw.com.camerademo;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);}public void onClick(View view){ Intent intent = new Intent(); switch (view.getId()) { case R.id.but_01: //录像页面 intent.setClass(this,CameraVodeoActivity.class); break; case R.id.but_02: //拍照页面 intent.setClass(this,CameraImageActivity.class); break; } startActivity(intent);}
}
//下面是拍照的demo
package alice.bw.com.camerademo;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import java.io.File;
public class CameraImageActivity extends AppCompatActivity {
private ImageView my_iv;
private String imgPath;
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera_image); my_iv = (ImageView) findViewById(R.id.my_iv); imgPath = getExternalCacheDir().getAbsolutePath()+"liuchao.png";}public void camera(View view){ switch (view.getId()){ case R.id.camera_but_01://调用系统的摄像机 Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//系统相机 startActivityForResult(intent,1); break; case R.id.camera_but_02: Intent intent1 = new Intent(); intent1.setAction(MediaStore.ACTION_IMAGE_CAPTURE);//系统相机 Uri uri = Uri.fromFile(new File(imgPath)); intent1.putExtra(MediaStore.EXTRA_OUTPUT,uri); startActivityForResult(intent1,2); break; }}//接收回传值得@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1 && resultCode == RESULT_OK){ if(data!=null){ Bundle bundle = data.getExtras(); Bitmap bitmap = (Bitmap) bundle.get("data"); my_iv.setImageBitmap(bitmap); } } if(requestCode == 2 && resultCode ==RESULT_OK){ //图片的参数 BitmapFactory.Options options = new BitmapFactory.Options(); //true 对图片不做真正的解码处理 options.inJustDecodeBounds = true; //获取原始的宽 高 int outWith = options.outWidth; int outHegth = options.outHeight; int newWith = outWith/500; int newHeight = outHegth/500; //拿到一个缩放比例 int sufbl = Math.max(newWith,newHeight); //设置缩放比例 options.inSampleSize = sufbl; //false 做真正的解码处理 options.inJustDecodeBounds = false; //将路径转为bitmap Bitmap bitmap = BitmapFactory.decodeFile(imgPath,options); my_iv.setImageBitmap(bitmap); }}
}
//录像
package alice.bw.com.camerademo;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.media.ThumbnailUtils;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.ImageView;
import android.widget.MediaController;
import android.widget.VideoView;
public class CameraVodeoActivity extends AppCompatActivity {
private VideoView mVv;
//第二部分private ImageView mIv;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_camera_vodeo); mVv = (VideoView) findViewById(R.id.my_vv); mIv = (ImageView) findViewById(R.id.my_iv);}public void camera(View view) { Intent intent = new Intent(); intent.setAction(MediaStore.ACTION_VIDEO_CAPTURE);//录像 startActivityForResult(intent,100);}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 100 && resultCode==RESULT_OK){ Uri uri = data.getData(); Cursor cursor = getContentResolver().query(uri,null,null,null,null); if(cursor.moveToFirst()){ String path = cursor.getString(cursor.getColumnIndex("_data")); mVv.setVideoURI(Uri.parse(path));//播放的资源 mVv.setMediaController(new MediaController(this)); mVv.start();//开始播放 //制作缩略图 Bitmap bitmap = ThumbnailUtils.createVideoThumbnail(path,MediaStore.Video.Thumbnails.MINI_KIND); mIv.setImageBitmap(bitmap); } }}
}
- 安卓使用系统相机拍照和录像
- 安卓调用系统相机拍照
- Android 调用系统相机拍照、录像
- 使用系统相机实现录像
- 安卓自定义相机录像功能全解(不调用系统相机)
- 学习使用安卓系统的相机和相册
- Android 调动系统照相机拍照和录像
- Android 调用系统照相机拍照和录像
- 关于使用安卓系统自带的相机进行拍照,把照片存到系统图库gallery中
- 安卓自定义相机拍照功能全解(不调用系统相机)
- 安卓调用系统相机拍照,并把图片保存到SD卡中 进行 尺寸和质量的压缩
- 安卓调用系统图库和相机
- Unity如何调用安卓手机摄像头实现拍照和录像
- android 相机使用(拍照、录像、图片查看、静态人脸识别、延时拍照)
- 调用系统相册和系统相机拍照
- Android调用安卓相机拍照上传
- 安卓 自定义相机,身份证拍照
- Android调用系统相机拍照,从图库中选择照片,调用系统摄像机录像
- PHP 上传文件大小限制 【转】
- Java中累计时间的计算(以小时为最终结果)
- 【DFS】Codeforces717E[Paint it really, really dark gray]题解
- 解决Hibernate效率底下问题
- 通天眼!P2P信披标准让升级,强制披露增加44项
- 安卓使用系统相机拍照和录像
- JS 字符串方法
- mvvm command的使用案例
- PHPCMS V9中get标签sql语句中不能带有limit语句的解决办法
- SAP物料移动过账之差异科目
- 怎么迅速将Java对象的详细内容打印下来
- 补丁(patch)的制作与应用
- pnp估计相机的姿态
- 10月18日,德国法兰克福,阿里云MaxCompute2.0,全面布局AI人工智能