android - Android OS 2.0 及更高版本的相机预览出现问题

标签 android camera

我正在使用 Android 来处理增强现实应用程序,并且我实现了相机代码。

我当前的基本 SDK 版本是 1.6。有了这个,我的应用程序在操作系统版本高达 1.6 的设备上运行良好,但在操作系统 2.0 及更高版本上出现问题..

有什么解决办法吗?

谢谢。

最佳答案

我用谷歌搜索并得到了以下解决方案。用下面的方法替换你的表面更改方法

private static Method getSupportedPreviewSizes = null;
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {

    try {
        Camera.Parameters parameters = camera.getParameters();

        Integer version = Integer.parseInt(Build.VERSION.SDK);

        if (version >= Build.VERSION_CODES.ECLAIR) {

            try {
                getSupportedPreviewSizes = Parameters.class.getMethod(
                        "getSupportedPreviewSizes", (Class[]) null);
                /* success, this is a newer device */
            } catch (NoSuchMethodException nsme) {
                /* failure, must be older device */
            }

            Object supportedFormats = getSupportedPreviewSizes.invoke(
                    parameters, (Object[]) null);
            List<Size> sizes;
            if (supportedFormats instanceof List<?>) {
                sizes = (List<Camera.Size>) supportedFormats;// params.getSupportedPreviewSizes();
                Size optimalSize = getOptimalPreviewSize(sizes, w, h);
                parameters.setPreviewSize(optimalSize.width,
                        optimalSize.height);
            }
        } else {

            parameters.setPreviewSize(100, 100);
        }
        parameters.setPictureSize(320, 480);

        camera.setParameters(parameters);
        camera.startPreview();
    } catch (Exception e) {

        e.printStackTrace();
    }

}

关于android - Android OS 2.0 及更高版本的相机预览出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4049341/

相关文章:

android - 如何从命令行启动 Android 应用程序?

android - Android 上的 Kotlin : map a cursor to a list

android - 当我将图像放入应用程序中时,如何阻止相机保存图像的副本

java - 没有任何正当理由无法连接到相机服务(RuntimeException)

android - Google Photos 与 Stock Gallery - Intent Picker

c++ - OpenGL/C++ 以任何方式在相机所面对的方向上移动对象?

android - Amazon Kindle Fire 和 .apk 文件

android - 在android中制作具有不同颜色的背景矩形

java - 抽屉式导航栏未显示

ios - 如何使用闪光灯在自定义相机上拍照?