2015-04-05 65 views
1

我正在嘗試使用與2個獨立SurfaceViews綁定的2個面持有者對象。 我是爲一個設置Camera.Open(0)爲後置攝像頭和Camera.Open(1)爲前端。 我能夠得到一個完美的預覽,無論我打電話打開第一,但無法同時打開兩個相機,即使我使用單獨的SurfaceViews和SurfaceHolders爲每個相機。Android,同時打開正面和背面相機

在Android下執行此操作是不可能的嗎?我看到一些帖子提示它要麼不可能,要麼是依賴於手機硬件,但沒有具體解釋爲什麼。

有人可以解釋爲什麼Android似乎不支持這個? 如果支持,有人可以建議同時打開兩臺相機的正確方法嗎?

我也看到了一些建議,應該可以使用OpenCV。如果是這樣,有人可以提供一個例子或類似的鏈接?

感謝和問候,

駿馬。

+0

這是一個非常模糊的話題,似乎並不可能,它是製造商/設備專用的自己的定製軟件。您必須查看是否可以獲取製造商的API和/或代碼才能執行此操作。 – Pierre 2015-04-05 13:25:22

+0

我一直在尋找同樣的東西。這可能是有幫助的: https://stackoverflow.com/questions/12382322/is-it-possible-to-use-front-and-back-camera-at-same-time-in-android/24238301 #24238301 – 2015-09-02 19:21:35

回答

2

這是可能的,因爲我已經在我的Nexus 6上完成了它,即使在使用Camera1 API時同時從兩臺攝像機錄製視頻。但是,它僅限於少數設備。

任何不受支持的設備在第二次Camera.open()調用期間都會出現錯誤。看來每個硬件製造商都提供了不同的Camera API實現。如果相機不允許,您可以很容易地嘗試/捕捉異常。

+1

你是怎麼做到的?你可以發表一些代碼嗎? – 2015-08-27 15:46:18

0

這是可能的某些手機和幾乎所有新手機。我發現使用Snapdragon 801和更高芯片組的設備支持這種設備(OnePlus 1,HTC M8等)。這是在2014年的某個地方。

這一切都取決於硬件/ manufacturor,你應該在真實的設備上進行測試。

另外請注意,YUV中的第一個Camera API輸出,所以如果你想使用圖像/視頻,你將不得不處理這種轉換爲另一種格式;你可以在SurfaceView上實時顯示它,但保存到圖片/視頻中。我建議你保存YUV並稍後/在一個單獨的線程上轉換,儘管你可以在單獨的線程上實時保存和轉換單個圖像。

對不起,對於遲到的答案,但我希望你或其他人可以使用這個信息!

相關問題