(android硬體應用實戰)網路攝影機拍照實現和總結

來源:互聯網
上載者:User

在實現網路攝影機拍照功能應用之前,考慮兩個風險

【1】       你的應用不是每一款android 機器都可以使用

主要原因

     網路攝影機拍照功能執行的過程為  應用調用android系統API-->系統API,調用底層驅動-->底層驅動驅動硬體

     一般的android手機有廠商自定寫驅動,實現作業系統,一些定製小廠商的android系統API實現,不是那怎完整,或者就是不支援,導致的結果是,你的應用裝上去就彈出應用程式異常。

【2】       你的應用在不同的型號,品牌機器上執行過程中,反應時間也不一樣

主要原因:當前android手機的效能還是有限的,在不同配置先下,手機硬體執行的反應時間也不一樣。舉例:調用鏡頭,鏡頭初始化的時間,鏡頭響應拍照的指令的時間,等

 

前沿: 本文實戰的應用為定時連拍照片,拍照過程中沒有閃光等,沒有聲音,下面是對應用實現過程中,對調用網路攝影機,進行拍照的總結

 

1 拍照第一步 初始化Camera

   初始化過程

  擷取Camera執行個體

 

 camera =Camera.open();

 

設定鏡頭的參數 (無閃光燈,且鏡頭角度轉90度,註:預設網路攝影機是橫拍得)

 

Camera.Parameters parameters=camera.getParameters();
parameters.setFlashMode("off");
parameters.set("rotation",90);
camera.setParameters(parameters);

開啟預覽(在執行拍照指令前,必須調用)

 

 camera.startPreview();

 

2 設定拍照指令,調用 反饋事件,實現擷取照片,並儲存

設定反饋事件:

    PictureCallback pictureCallback=new PictureCallback(){
public void onPictureTaken(byte[] data,Camera camera)
{
FileOutputStream outSteam=null;

try{

SimpleDateFormat format=new SimpleDateFormat("yyyyMMddHHmmss");
String times=format.format((new Date()));

outSteam=new FileOutputStream("/sdcard/MyImages/"+times+".jpg");
outSteam.write(data);
outSteam.close();

}
catch(FileNotFoundException e)
{
Log.d("Camera", "row");

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

};
};

 

執行拍照指令

 

3 拍照完成後,釋放鏡頭

camera.takePicture(null, null, pictureCallback);

4 配置許可權

在  AndroidManifest.xml 檔案中設定網路攝影機許可權

 <uses-permission android:name="android.permission.CAMERA"/>

 

註: 當前應用發行:

 http://www.appchina.com/soft_detail_180936_0_10.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.