Android SDK 有一个用于使用相机预览的 API 演示。但是,这给了我模拟器中的运行时异常。我在 10.6 的 Mac 上运行 Eclipse
这是我获取代码的链接:
Android SDK 有一个用于使用相机预览的 API 演示。但是,这给了我模拟器中的运行时异常。我在 10.6 的 Mac 上运行 Eclipse
这是我获取代码的链接:
确保您在 AndroidManifest.xml 文件中设置了使用相机的权限。将此行放在应用程序标记上方。
<uses-permission android:name="android.permission.CAMERA" />
我的 Nexus One 有一些工作要做。
如果您正在尝试编写相机应用程序,API 演示应用程序将无法提供足够的帮助。下载 Android 相机应用程序本身的源代码:
https://android.googlesource.com/platform/packages/apps/Camera
关于您的问题,您将了解到您需要在清单中将您的应用程序限制为横向模式。在 SurfaceChanged 中,只需调用 startPreview。根本不要设置预览大小。
关于 NexusOne 崩溃。
正如Corey Trager在他的评论中提到的,在查看 2.1 SDK 附带的 ApiDemos 包时,缺少权限不是问题。
我发现这个问题的一个解决方案是在 CameraPreview 中更改请求的预览大小
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h){..}
替换这一行:
parameters.setPreviewSize(w,h);
和
parameters.setPreviewSize(352,288);
此决议是 G1 DevPhone 使用的法律决议。
您可以使用
List<Camera.Size> getSupportedPreviewSizes ()
并从列表中选择尺寸
Google Code Android 缺陷中也提到了此问题,它可能对您有所帮助,其中一条评论底部提到的代码作为处理预览问题的可能解决方案。