關於Camera.PreviewCallback的調用的三個方式

來源:互聯網
上載者:User

● Camera.PreviewCallback:定義了onPreviewFrame(byte[] data, Camera camera) 方法,當存在預覽幀(preview frame)時調用該方法。可以傳入儲存當前映像像素的位元組數組。在Camera對象上,有3種不同的方式使用這個回調:

· setPreviewCallback(Camera.PreviewCallback):使用此方法註冊一個Camera. PreviewCallback,這將確保在螢幕上顯示一個新的預覽幀時調用onPreviewFrame方法。傳遞到onPreviewFrame方法中的資料位元組數組最有可能採用YUV格式。但是,Android 2.2是第一個包含了YUV格式解碼器(YuvImage)的版本;在以前的版本中,必須手動完成解碼。

· setOneShotPreviewCallback(Camera.PreviewCallback):利用Camera對象上的這個方法註冊Camera.PreviewCallback,從而當下一幅預覽映像可用時調用一次onPreviewFrame。同樣,傳遞到onPreviewFrame方法的預覽映像資料最有可能採用YUV格式。可以通過使用ImageFormat中的常量檢查Camera. getParameters(). getPreviewFormat()返回的結果來確定這一點。

· setPreviewCallbackWithBuffer(Camera.PreviewCallback):在Android 2.2中引入了該方法,其與setPreviewCallback的工作方式相同,但要求指定一個位元組數組作為緩衝區,用於預覽映像資料。這是為了能夠更好地管理處理預覽映像時使用的記憶體。

● Camera.AutoFocusCallback:定義了onAutoFocus方法,當完成一個自動聚焦活動時調用它。通過傳入此回調介面的一個執行個體,在調用Camera對象上的autoFocus方法時會觸發自動聚焦。

● Camera.ErrorCallback:定義了onError方法,當發生一個Camera錯誤時調用它。有兩個常量可用於與傳入的錯誤碼進行比較:CAMERA_ERROR_UNKNOWN和CAMERA_ERROR_SERVER_DIED。

● Camera.OnZoomChangeListener:定義了onZoomChange方法,當進行中或完成“平滑縮放”(慢慢縮小或放大)時調用它。在Android 2.2 (API Level 8)中引入了這個類和方法。

Camera.ShutterCallback:定義了onShutter方法,當捕獲映像時立刻調用它

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.