2010-08-30 68 views

回答

4

有可能實現。 您應該定義一個處理Camera對象的類,例如Camera.open()等的調用。 不要提供以下線路相機對象,以禁用預覽 -

mCamera.setPreviewDisplay(mTargetHolder); 

哪裏mTargetHolder是SurfaceView。

如果你想接收幀回調,你可以實現Camera.PreviewCallback接口。

現在,在您調用camera.startPreview()之前,使用setPreviewCallbackWithBuffer(Camera.PreviewCallback)註冊您的回調處理函數。 Camera reference

有了這個你從回調中收到的幀數據,你可以做任何你想做的事情。只要記住它是一種原始數據格式。 另請參閱Camera.PictureCallback用法,如果你想拍照。

我希望這會有所幫助。 (即使不相關)

乾杯

+0

你確定沒有調用'setPreviewDisplay'圖片嗎?你有任何示例代碼? – vbence 2011-05-08 17:41:26

+0

刪除這一行,不顯示預覽的表面,但它仍然需要一個表面,連接到主窗口,工作..所以現在,而不是預覽,我可以得到一個黑色的表面:)你也許知道有什麼辦法可以解決這個問題嗎? – Vlad 2012-06-08 15:14:28

+0

任何人都可以親切地確認答案是否有效...... – giga 2012-07-20 11:24:26