<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 獲取Android設(shè)備上的詳細的攝像頭信息

          獲取Android設(shè)備上的詳細的攝像頭信息

          作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

          /* 設(shè)置預(yù)覽照片的大小,此處設(shè)置為全屏 */

          WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE); // 獲取當前屏幕管理器對象

          Display display = wm.getDefaultDisplay(); // 獲取屏幕信息的描述類

          parameters.setPreviewSize(display.getWidth(), display.getHeight()); // 設(shè)置

          /* 每秒從攝像頭捕獲5幀畫面, */

          parameters.setPreviewFrameRate(5);

          /* 設(shè)置照片的輸出格式:jpg */

          parameters.setPictureFormat(PixelFormat.JPEG);

          /* 照片質(zhì)量 */

          parameters.set(jpeg-quality, 85);

          /* 設(shè)置照片的大?。捍颂幷掌笮〉扔谄聊淮笮?*/

          parameters.setPictureSize(display.getWidth(), display.getHeight());

          /* 將參數(shù)對象賦予到 camera 對象上 */

          camera.setParameters(parameters);

          preview = true;

          }

          @Override

          public void surfaceChanged(SurfaceHolder holder, int format, int width,

          int height) {

          }

          /**

          * SurfaceView 被銷毀時釋放掉 攝像頭

          */

          @Override

          public void surfaceDestroyed(SurfaceHolder holder) {

          if(camera != null) {

          /* 若攝像頭正在工作,先停止它 */

          if(preview) {

          camera.stopPreview();

          preview = false;

          }

          camera.release();

          }

          }

          }

          /**

          * 手機鍵盤按鍵事件

          * 返回 true, 將阻止事件繼續(xù)傳遞,例如搜索鍵,他默認會觸發(fā)和打開系統(tǒng)的搜索引擎。返回true后,將不會觸發(fā)。

          */

          @Override

          public boolean onKeyDown(int keyCode, KeyEvent event) {

          /*

          * event.getRepeatCount() 為重復(fù)按鍵的次數(shù),例如,快速地對某個鍵連續(xù)按了兩次,則此值為一,表示重復(fù)了一次。往上可以累推。

          * 按鍵只被按了一次,則此值為 0。

          * 這有點類似于鼠標的 單擊 和 雙擊。

          */

          if(camera != null event.getRepeatCount() == 0 ) {

          switch (keyCode) {

          case KeyEvent.KEYCODE_SEARCH: // 搜索鍵

          /* 按下搜索鍵自動對焦 , 如果要關(guān)注它的事件,

          * 可以實現(xiàn) AutoFocusCallback 接口,并實例化其對象傳入 */

          camera.autoFocus(null);

          break;

          case KeyEvent.KEYCODE_CAMERA: // 拍照鍵

          case KeyEvent.KEYCODE_DPAD_CENTER: // 中間確認鍵

          /*

          * @param shutter : 照片被捕獲之后的回調(diào)對象

          * @param raw : 此回調(diào)對象可以生產(chǎn)為壓縮的圖片數(shù)據(jù)

          * @param jpeg : 此回調(diào)對象可以產(chǎn)生壓縮后的圖片數(shù)據(jù),其onPictureTaken將被調(diào)用

          */

          camera.takePicture(null, null, new TakePictureCallback());

          /* 拍完照后回到預(yù)覽狀態(tài),繼續(xù)取景 -- 錯誤的方式 */

          // camera.startPreview();必須寫在 onPictureTaken 方法內(nèi)部,因為 takePicture 內(nèi)部是另開了一條線程異步的完成保存照片等操作。

          // 雖然 takePicture 方法完成了,但是并不代表其內(nèi)部的工作全部完成,也不代表攝像頭以及從上一次“拍照”任務(wù)中工作完畢

          break;

          default:

          break;

          }

          return true;

          }

          return super.onKeyDown(keyCode, event);

          }

          /**

          * 處理照片被拍攝之后的事件

          */

          private final class TakePictureCallback implements PictureCallback {

          @Override

          public void onPictureTaken(byte[] data, Camera camera) {

          Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);

          /* 照片將被保存到 SD 卡跟目錄下,文件名為系統(tǒng)時間,后綴名為.jpg */

          File file = new File(Environment.getExternalStorageState(), System.currentTimeMillis() + .jpg);

          try {

          FileOutputStream fos = new FileOutputStream(file);

          /* 位圖格式為JPEG

          * 參數(shù)二位 0-100 的數(shù)值,100為最大值,表示無損壓縮

          * 參數(shù)三傳入一個輸出流對象,將圖片數(shù)據(jù)輸出到流中

          */

          bitmap.compress(CompressFormat.JPEG, 100, fos);

          fos.close();

          /* 拍完照后回到預(yù)覽狀態(tài),繼續(xù)取景 */

          camera.startPreview();

          } catch (IOException e) {

          e.printStackTrace();

          }

          }

          }

          }


          上一頁 1 2 3 下一頁

          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();