• 主题:android调用系统摄像头拍照图片和视频


    如题:

    Java代码 复制代码 收藏代码
    1.                     public void onClick(View v) {   //启动系统相机   
    2. Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);   
    3. startActivityForResult(intent, CASE_CAMERA);   
                            public void onClick(View v) {   //启动系统相机
    				Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    				startActivityForResult(intent, CASE_CAMERA);
    			}

      public void onClick(View v) { //启动系统视频摄像头

    Java代码 复制代码 收藏代码
    1.     Intent intent = new  Intent(MediaStore.ACTION_VIDEO_CAPTURE);   
    2.     startActivityForResult(intent, CASE_VIDEO);   
    3. }  
    				Intent intent = new  Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    				startActivityForResult(intent, CASE_VIDEO);
    			}

    拍摄完成后的回调函数(在同一个activity中):

    Java代码 复制代码 收藏代码
    1. @Override  
    2.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {   
    3.         try{   
    4.             if(resultCode==Activity.RESULT_OK){   
    5.                 if(requestCode==CASE_CAMERA){   
    6.                     typeMulti = 0;     
    7.                     Bundle extras = data.getExtras();   
    8.                     Bitmap bitmap= (Bitmap) extras.get("data");   
    9.                     path = IOUtils.saveImg(bitmap);    //返回图片保存在本机中的目录   
    10.                     /*Toast toast=Toast.makeText(this, "相片已保存在:SDcard/DCIM/Camera目录中", Toast.LENGTH_LONG);  
    11.                     toast.setGravity(Gravity.BOTTOM, 0, 0);  
    12.                     toast.show();*/  
    13.                     isUploadPhoto(bitmap);   
    14.                 }   
    15.                 if(requestCode==CASE_VIDEO){   
    16.                     typeMulti = 1;   
    17.                     path = data.getData().toString();   
    18.                     /*Toast toast=Toast.makeText(this, "视频已保存在:"+path, Toast.LENGTH_LONG);  
    19.                     toast.setGravity(Gravity.BOTTOM, 0, 0);  
    20.                     toast.show();*/  
    21.                     uploadVideoDialog();   
    22.                 }   
    23.             }   
    24.         }catch(Exception e){   
    25.             e.printStackTrace();   
    26.         }   
    27.     }  
  • 相关阅读:
    LeetCode208 实现 Trie (前缀树)
    LeetCode289 生命游戏(模拟)
    LeetCode560 和为 K 的子数组
    LeetCode673 最长递增子序列的个数
    LeetCode31 下一个排列
    LeetCode926 将字符串翻转到单调递增
    LeetCode135 分发糖果
    LeetCode810 黑板异或游戏
    npm发布和修改详细教程
    不同的子序列问题I
  • 原文地址:https://www.cnblogs.com/zhwl/p/2184740.html
Copyright © 2020-2023  润新知