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 回答