2012-01-08 6 views
3

Android搭載端末の前面にあるカメラの位置を検出する方法はありますか?正面カメラがどこに置かれているかを検出する方法は?

私は携帯電話では常にヘッドフォンの近くにあると思います。しかし、すべての錠剤は異なっています。私はAsus Transformerをチェックして、フロントカメラは横にあります(私が風景モードで保持している場合は上部にあります)。しかし、Samsung Galaxy Tab(ファーストジェネレーション、Android 2.2)は、すべての携帯電話と同様に、

フロントカメラの設置場所を確認する方法はありますか?たぶん私はコードでそれを行うことができます、多分デバイスのルールがありますか? Android 2.xデバイスと同様に、Android 3.xデバイスは側面にありますか?その後、Adnroid 4.xデバイスはどうですか?

+0

あなたはその場所を推測する別の方法を考え出しましたか? – Eric

答えて

3

これを行う方法はありません。 http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html

を読むあなたがチェックできる2つの定数はありません。

int CAMERA_FACING_BACK The facing of the camera is opposite to that of the screen. 
int CAMERA_FACING_FRONT The facing of the camera is the same as that of the screen. 

だから、私は申し訳ありません - それは側にいているかどうかを確認する方法は。 APIレベル以上の

0

あなたがCAMERA_FACING_BACKまたはCAMERA_FACING_FRONTのどちらかになります

Camera.getNumberOfCameras(); 

でCamera.CameraInfo.facingフィールドをカメラの数を決定することができ

Camera.getCameraInfo (int cameraId, Camera.CameraInfo cameraInfo). 

を呼び出すことができます。

+0

あなたは私の質問を理解できませんでした。私はカムの数を決定する必要はありません。私は、前面のカメラがどこにあるのか(上面または側面に)配置されているかを知る必要があります。 – Dmitriy

+0

私は存在する唯一のカメラ位置情報のAPIを与えました。 – nmjohn

2
/** 
    * @return true : Front facing camera is available. false : Front facing 
    *   camera is not available. 
    */ 
    private boolean isFrontCameraAvailable() { 

     int cameraCount = 0; 
     boolean isFrontCameraAvailable = false; 
     cameraCount = Camera.getNumberOfCameras(); 

     while (cameraCount > 0) { 
     CameraInfo cameraInfo = new CameraInfo(); 
     cameraCount--; 
     Camera.getCameraInfo(cameraCount, cameraInfo); 


     if (cameraInfo.facing == CameraInfo.CAMERA_FACING_FRONT) { 
     isFrontCameraAvailable = true; 
     break; 
     } 

     } 

     return isFrontCameraAvailable; 
    } 
0

私はこの情報のためのAPIを発見していません。

私はあなたの最良の選択肢は、それがオンになっていると仮定しBuild情報を見て、サムスンのギャラクシータブのためのデバイス/ブランド一致する場合は、 https://developer.android.com/reference/android/os/Build.html

を知っている位置のマッピングを作るために、ヒューリスティックなアプローチだと思います上。

これらがAsus Transformerと一致する場合は、左側にあると仮定します。

あなたがデバイス/ブランドを見つけたら、それを記録しておらず、そのデバイスリサーチを使用する人が十分にいる場合は、カメラがあなたのコードを更新します。

関連する問題