3

我需要詢問與條形碼掃描有關的問題,我正在使用掃描條形碼並在網上搜索結果的應用程序。 現在,這是我的方法,我在那裏我的相機對象如何讓Nexus7使用前置攝像頭掃描條形碼時,缺少後置攝像頭

/** A safe way to get an instance of the Camera object. */ 
public static Camera getCameraInstance() { 
    Camera c = null; 
    try { 
     c = Camera.open(); 
    } catch (Exception e) { 
    } 
    return c; 
} 

對於掃描我使用的是zbar和圖書館的創建實例。 我的問題是關於設備華碩Nexus 7. 我目前沒有該設備,但我知道它只是前置攝像頭,沒有後置攝像頭。 如何使它適用於只有前置攝像頭和沒有後置攝像頭的設備? 它會在我的代碼中正常工作嗎? 如果我添加以下用途 - 功能android:name =「android.hardware.camera.front」android:required =「false」

我的唯一目的是讓用戶掃描條碼,如果有它應該通過後置攝像頭進行掃描,如果只有前置攝像頭,則只能通過攝像頭進行掃描,我該如何處理? 所有的建議將受到歡迎。 :-D

回答

3

在Android 2.3之前,沒有用於訪問前置攝像頭的API,所有設備攝像頭都是後置攝像頭。您使用的API調用是原始調用,並且仍然只能打開後置攝像頭以兼容。在Nexus 7上,您將獲得null

您需要Camera.open(int)才能選擇其他相機。在Nexus 7上,因爲只有一個攝像頭,它肯定會以Camera.open(0)打開。但是,你真的需要詢問所有可用的相機並選擇你想要的相機。

source code from zxing /條形碼掃描儀顯示它如何打開後置攝像頭,除非沒有可用的情況,在這種情況下,前置攝像頭會打開。

(注意:Barcode Scanner+會讓你它們之間進行選擇也是如此,如果你有的話)。

+0

非常感謝肖恩.....ü生命的救星!!!! :) – Varun 2013-04-12 06:28:49

+0

因爲你已經開發了條形碼掃描器+ ....是否有任何設備只有薑餅和薑餅系列下面的前置攝像頭就像有一個比薑餅更大的設備(Nexus 7)的這種特殊情況.... 。只是一個隨機查詢的人... !!! – Varun 2013-04-12 06:35:35

+0

薑餅比薑餅更好。我相信只有前置攝像頭有薑餅裝置。應該沒有壓力薑餅設備與前置攝像頭,因爲沒有API支持,但我看到中國品牌這樣的設備。他們使用了一些奇怪的特殊API,並且標準API不起作用。 – 2013-04-12 07:45:20

相關問題