老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)

Android如何調(diào)用系統(tǒng)照相機拍照與攝像

這篇文章將為大家詳細講解有關(guān)Android如何調(diào)用系統(tǒng)照相機拍照與攝像,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)安龍免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千多家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

具體示例分析:

1、系統(tǒng)現(xiàn)有相機應(yīng)用的調(diào)用

對于如何調(diào)用系統(tǒng)現(xiàn)有應(yīng)用,之前就有講解,這里簡單再說一下。在開發(fā)的應(yīng)用中調(diào)用系統(tǒng)現(xiàn)有應(yīng)用,需要使用Intent指定開啟的應(yīng)用的Action和Category,然后通過startActivity(Intent)或者startActivityForResult(Intent,int)開啟指定的Activity,如果使用startActivityForResult()方法開啟并需要返回值,再重寫onActivityResult(int,int,Intent)即可。

先來看看系統(tǒng)現(xiàn)有相機應(yīng)用的AndroidManifest.xml清單文件定義的Activity:


  
  
  
  
  
  
  
  
  
  
  
  
  
 
 
  
  
  
  
  
  
  
  
 

它定義了兩個Activity,com.android.camera.Camera表示照相機,com.android.camera.VideoCamera表示攝像機。從字面意思可以看出,為了捕獲系統(tǒng)相機返回的數(shù)據(jù),一般需要使用一下兩個Action即可開啟照相機與攝像機:

  • android.media.action.IMAGE_CAPTURE:Intent的Action類型,從現(xiàn)有的相機應(yīng)用中請求一張圖片。

  • android.media.action.VIDEO_CAPTURE:Intent的Action類型,從現(xiàn)有的相機應(yīng)用中請求一段視頻。

上面兩個參數(shù),均在MediaStore類中以靜態(tài)常量的形式定義好了,分別是:MediaStore.ACTION_IMAGE_CAPTURE(相機)和MediaStore.ACTION_VIDEO_CAPTURE(攝像機)。

2、系統(tǒng)現(xiàn)有相機拍攝照片

上面介紹到,開啟系統(tǒng)現(xiàn)有相機應(yīng)用拍攝照片,需要用的MediaStore.ACTION_IMAGE_CAPTURE作為Intent的action開啟Activity即可。但是在使用系統(tǒng)現(xiàn)有相機用用的時候,默認會把圖片保存到系統(tǒng)圖庫的目錄下,如果需要指定圖片文件的保存路徑,需要額外在Intent中設(shè)置。

設(shè)置系統(tǒng)現(xiàn)有相機應(yīng)用的拍攝照片的保存路徑,需要用Intent.putExtra()方法通過MediaStore.EXTRA_OUTPUT去設(shè)置Intent的額外數(shù)據(jù),這里傳遞的是一個Uri參數(shù),可以是一個文件路徑的Uri。

Intent intent=new Intent();
  // 指定開啟系統(tǒng)相機的Action
  intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
  intent.addCategory(Intent.CATEGORY_DEFAULT);
  // 根據(jù)文件地址創(chuàng)建文件
  File file=new File(FILE_PATH);
  // 把文件地址轉(zhuǎn)換成Uri格式
  Uri uri=Uri.fromFile(file);
  // 設(shè)置系統(tǒng)相機拍攝照片完成后圖片文件的存放地址
  intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

3、獲取系統(tǒng)現(xiàn)有相機拍攝的圖片

在新開啟的Activity中,如果需要獲取它的返回值,則需要使用startActivityForResult(Intent,int)方法開啟Activity,并重寫onActivityResult(int,int,Intent)獲取系統(tǒng)相機的返回數(shù)據(jù),那么我們只需要在onActivityResult()中獲取到返回值即可。

系統(tǒng)相機拍攝的照片,如果不指定路徑,會保存在系統(tǒng)默認文件夾下,可以使用Intent.getExtra()方法得到,得到的是一個Uri地址,表示了一個內(nèi)容提供者的地址。如果通過MediaStore.EXTRA_OUTPUT指定了保存路徑,那么通過Intent.getExtra()得到的將是一個空地址,但是既然是我們指定的地址,那么也不愁找不到它了。 

4、系統(tǒng)現(xiàn)有相機拍攝圖片Demo

上面講解了如何在開發(fā)的應(yīng)用中使用系統(tǒng)相機拍攝照片并獲得它所涉及到的內(nèi)容,下面通過一個簡單的Demo演示一下。在Demo中,有兩個Button分別以指定路徑的方式和不指定路徑的方式啟動系統(tǒng)相機,并獲取返回值顯示到ImageView中,Demo中注釋比較詳細,這里不再累述了。

布局代碼:activity_syscamera.xml

 


 

實現(xiàn)代碼:SysCameraActivity.java

package cn.bgxt.callsystemcamera;

import java.io.File;

import android.app.Activity;
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.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class SysCameraActivity extends Activity {
 private Button btn_StartCamera, btn_StartCameraInGallery;
 private ImageView iv_CameraImg;

 private static final String TAG = "main";
 private static final String FILE_PATH = "/sdcard/syscamera.jpg";

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_syscamera);

 btn_StartCamera = (Button) findViewById(R.id.btn_StartCamera);
 btn_StartCameraInGallery = (Button) findViewById(R.id.btn_StartCameraInGallery);
 iv_CameraImg = (ImageView) findViewById(R.id.iv_CameraImg);

 btn_StartCamera.setOnClickListener(click);
 btn_StartCameraInGallery.setOnClickListener(click);
 }

 private View.OnClickListener click = new View.OnClickListener() {

 @Override
 public void onClick(View v) {
  
  Intent intent = null;
  switch (v.getId()) {
  // 指定相機拍攝照片保存地址
  case R.id.btn_StartCamera:
  intent = new Intent();
  // 指定開啟系統(tǒng)相機的Action
  intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
  intent.addCategory(Intent.CATEGORY_DEFAULT);
  // 根據(jù)文件地址創(chuàng)建文件
  File file = new File(FILE_PATH);
  if (file.exists()) {
   file.delete();
  }
  // 把文件地址轉(zhuǎn)換成Uri格式
  Uri uri = Uri.fromFile(file);
  // 設(shè)置系統(tǒng)相機拍攝照片完成后圖片文件的存放地址
  intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
  startActivityForResult(intent, 0);
  break;
  // 不指定相機拍攝照片保存地址
  case R.id.btn_StartCameraInGallery:
  intent = new Intent();
  // 指定開啟系統(tǒng)相機的Action
  intent.setAction(MediaStore.ACTION_IMAGE_CAPTURE);
  intent.addCategory(Intent.CATEGORY_DEFAULT);
  startActivityForResult(intent, 1);
  break;
  default:
  break;
  }

 }
 };

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 Log.i(TAG, "系統(tǒng)相機拍照完成,resultCode="+resultCode);
 
 if (requestCode == 0) {
  File file = new File(FILE_PATH);
  Uri uri = Uri.fromFile(file);
  iv_CameraImg.setImageURI(uri);
 } else if (requestCode == 1) {
  Log.i(TAG, "默認content地址:"+data.getData());
  iv_CameraImg.setImageURI(data.getData());
 }
 }
}

效果展示:

Android如何調(diào)用系統(tǒng)照相機拍照與攝像

這里只是簡單的演示了如何調(diào)用系統(tǒng)現(xiàn)有的相機應(yīng)用獲取拍攝的圖片,沒有做圖片資源的回收,所以可能會有內(nèi)存溢出的錯誤,重新啟動應(yīng)用即可。

5、系統(tǒng)現(xiàn)有相機拍攝視頻

從系統(tǒng)現(xiàn)有的相機應(yīng)用中獲取拍攝的視頻,與獲取拍攝的圖片過程大致相同,但是它除了可以通過putExtra()設(shè)置MediaStore.EXTRA_OUTPUT輸出路徑外,還可以設(shè)置其它值,這里簡單介紹一下:

  • MediaStore.EXTRA_OUTPUT:設(shè)置媒體文件的保存路徑。

  • MediaStore.EXTRA_VIDEO_QUALITY:設(shè)置視頻錄制的質(zhì)量,0為低質(zhì)量,1為高質(zhì)量。

  • MediaStore.EXTRA_DURATION_LIMIT:設(shè)置視頻最大允許錄制的時長,單位為毫秒。

  • MediaStore.EXTRA_SIZE_LIMIT:指定視頻最大允許的尺寸,單位為byte。

6、系統(tǒng)現(xiàn)有相機拍攝視頻Demo

既然和拍攝照片的流程一樣,這里就不再累述了,直接上Demo。在Demo中通過一個Button啟動一個系統(tǒng)現(xiàn)有相機拍攝視頻,最后保存在SD卡上。

實現(xiàn)代碼:

package cn.bgxt.callsystemcamera;

import java.io.File;

import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class SysVideoCameraActivity extends Activity {
 private Button btn_StartVideoCamera;
 private static final String FILE_PATH = "/sdcard/sysvideocamera.3gp";
 private static final String TAG="main";
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_sysvideocamera);

 btn_StartVideoCamera = (Button) findViewById(R.id.btn_StartVideoCamera);
 btn_StartVideoCamera.setOnClickListener(click);
 }

 private View.OnClickListener click = new View.OnClickListener() {

 @Override
 public void onClick(View v) {
  Intent intent = new Intent();
  intent.setAction("android.media.action.VIDEO_CAPTURE");
  intent.addCategory("android.intent.category.DEFAULT");
  File file = new File(FILE_PATH);
  if(file.exists()){
  file.delete();
  }
  Uri uri = Uri.fromFile(file);
  intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
  startActivityForResult(intent, 0);
 }
 };
 

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 Log.i(TAG, "拍攝完成,resultCode="+requestCode);
 }

}

效果展示:

Android如何調(diào)用系統(tǒng)照相機拍照與攝像

關(guān)于“Android如何調(diào)用系統(tǒng)照相機拍照與攝像”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網(wǎng)站名稱:Android如何調(diào)用系統(tǒng)照相機拍照與攝像
URL地址:http://www.xueling.net.cn/article/phospj.html

其他資訊

在線咨詢
服務(wù)熱線
服務(wù)熱線:028-86922220
TOP
主站蜘蛛池模板: 国产激情无码一区二区三区 | 狠狠躁夜夜躁av蜜臀少妇 | 日本人妻japanesexxxx | 国产精华xxx | 久久福利看片 | 打屁股狠网站spαnkvieos | 久久成人影院精品777 | 亚洲免费图区在线视频 | 日本国产欧美大码a视频 | 日本久久久久久级做爰片 | 激情久久久久久久久 | 欧亚乱熟女一区二区三区在线 | 亚洲精品日韩综合观看成人91 | 看看黄色毛片 | 国产精品一区二区在线免费观看 | 日韩超碰人人爽人人做人人添 | 午夜色大片在线观看免费 | 少妇做爰高潮呻吟A片免费 亚洲AV永久无码天堂影院黑人 | 国产美女遭强高潮网站观看 | 婷婷色香五月综合激激情 | 午夜无码无遮挡在线视频 | 欧美人牲口杂交在线播放免费 | 日本欧美大码aⅴ在线播放 亚洲靠逼网站 | 3344成人 | www.麻豆com| 777yyy亚洲精品一区二区 | 天天爱天天做天天爽夜夜揉 | 欧美日韩国产一区二区 | 好男人在在线社区WWW在线影院 | 久久妇女高潮几次MBA | 亚洲欧美观看 | 91视频免费在线?看 国产精品无码翘臀在线看 亚洲乱码av中文一区二区 | 重口女人毛片免费 | 综合激情丁香久久狠狠 | 8xmv在线观看免费 | 裸体男同自慰gay网站 | 欧美美女一区 | 免费国产精品一区二区三区 | 黑人巨茎和中国美女视频 | 超碰人人人人 | 久久综合九色综合欧美就去吻 |