0

カメラを使用して写真をキャプチャするアプリ (バージョン 2.2) を設計しています。

http://developer.android.com/sdk/android-2.3.htmlから、バージョン 2.3 以降では複数のカメラがサポートされていることを読みました。しかし、カメラを起動すると、通常、ユーザーがクリックして前面カメラと背面カメラを切り替えることができるボタンがあるため、私はまだ少し混乱していますよね?

また

2.2にはこのスイッチがありませんか?

ユーザーがフロントカメラとリアカメラの両方を使用できるようにしたい。バージョン 2.2 で可能ですか、それとも 2.3 以降を使用する必要がありますか?

4

2 に答える 2

1

はい、2.2 は背面カメラのみを管理できます。前面カメラの場合、2.3+ にアップグレードする必要があります。

private int getBestCameraId() {

        PackageManager pm = m_mainThreadContext.getPackageManager();

        try {
            if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA_FRONT)) {
                Log.i(TAG, "Phone has a frontal camera.");
                return Camera.CameraInfo.CAMERA_FACING_FRONT;
            } else {
                Log.i(TAG, "Phone has only rear camera.");
                return Camera.CameraInfo.CAMERA_FACING_BACK;
                }
        } catch (Exception e) {
                return Camera.CameraInfo.CAMERA_FACING_BACK;
    }

}

この単純な機能を使用すると、電話に前面または背面のカメラがあるかどうかを確認し、最高のものを返します。返された ID を Camera.open(id) で使用して、目的のカメラを選択できます。

マニフェストに次のように書く場合:

<uses-sdk android:minSdkVersion="8" />

ライブラリ 2.3 (または +) を使用してプロジェクトを開発すると、私が投稿した機能は魅力的です! 私はカメラ プロジェクトで使用したことがあるので、信頼してください ;)

于 2012-06-03T09:17:57.727 に答える
0

これを参照してくださいこれこれ

API >=9 の場合、Camera クラスを使用して複数のカメラがあるかどうかを確認し、CameraInfo を照会できます。

getNumberOfCameras

getCameraInfo:

また、Android 2.2 以前のバージョンでは、SDK で単一のカメラをサポートしています。

于 2012-06-03T04:17:27.963 に答える