zoukankan      html  css  js  c++  java
  • android 调用系统摄像头

    在开发android 应用的时候我们经常需要用到摄像头来进行拍照或者是录制视频,这里介绍一种最简单的方法:调用系统摄像头来拍照,并将照片保存起来

    启动摄像头的方法:

    startActivityForResult(new Intent("android.media.action.IMAGE_CAPTURE"), TAKE_PICTURE);

    拍摄成功后接收参数的接收方法我们只需要重写

    protected void onActivityResult(int requestCode, int resultCode, Intent data)方法即可

    如:

    final int TAKE_PICTURE = 1;
    
    	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    		if (requestCode == TAKE_PICTURE) {
    			if (resultCode == RESULT_OK) {
    				Bitmap bm = (Bitmap) data.getExtras().get("data");
    				imgPhoto.setImageBitmap(bm);// ??¨ª?????¨º??¨²ImageView¨º¨®¨ª?¨¦?¡ê?private
    				// ¡ä?¡ä|?D??¡ä?¡ä¡é?¡§¨º?¡¤?¡ä??¨²
    				sdCardExit = Environment.getExternalStorageState().equals(
    						android.os.Environment.MEDIA_MOUNTED);					// ImageView img;
    				if (sdCardExit) {
    					myRecAudioDir = new File(Environment
    							.getExternalStorageDirectory().getAbsolutePath()
    							+ "/custom_picture");
    					if (!myRecAudioDir.exists()) {
    						myRecAudioDir.mkdir();
    					}
    				} else {
    					mMakeTextToast("¡ä?¡ä¡é?¡§2?¡ä??¨²", true);
    				}
    				try {
    					File f = File.createTempFile(strTempFile, ".jpg",
    							myRecAudioDir);
    
    					BufferedOutputStream bos = new BufferedOutputStream(
    							new FileOutputStream(f));
    					photoPath=f.getPath();
    					/* 2¨¦¨®??1??¡Áa¦Ì¦Ì¡¤?¡¤¡§ */
    					bm.compress(Bitmap.CompressFormat.JPEG, 80, bos);
    
    					/* ¦Ì¡Â¨®?flush()¡¤?¡¤¡§¡ê??¨¹D?BufferStream */
    					bos.flush();
    
    					/* ?¨¢¨º?OutputStream */
    					bos.close();
    				} catch (FileNotFoundException e) {					
    					e.printStackTrace();
    				} catch (IOException e) {					
    					e.printStackTrace();
    				}
    			}
    		}
    	}
    拍摄效果如下图:
    image 
    返回结果如下图:
    image 
  • 相关阅读:
    蓝盾杯writeup
    记一次被吊打的排位赛(writeup)
    记一次简单的PHP代码审计(SSRF案例)
    记一次简单的GetShell案例
    斯坦福cs231n计算机视觉经典课程笔记(更新中)
    centos8 下配置 uwsgi + Django
    C++坑点随笔
    matlab调教日记 ---- 语法问题汇总
    matlab调教日记 --- debug篇
    MySQL解决中文编码问题
  • 原文地址:https://www.cnblogs.com/vaiyanzi/p/2106298.html
Copyright © 2011-2022 走看看