1

我必须是第一个面对这个问题的人,因为我什至找不到一个关于它的线程。

今天我想从我的应用程序需求的相机方面开始。我阅读了一些文档

我的清单如下所示:

<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application>我在上面和下面的清单中写了这个<manifest>

我在做什么;我创建了一个新类。使用 eclipse 作为我的 IDE。

然后我声明一个字段:

Camera _camera;

在构造函数中(只是为了测试)我试图做:

_camera = Camera.open();

我有一个错误。我使用我的真实手机来测试应用程序,因为我没有网络摄像头或任何可供模拟器使用的东西。当我告诉它有相机时,模拟器给了我一个内存错误。

无论如何,在找出我不能使用 Camera.open 的原因(我包含了包:android.graphics.Camera;)因为这是我用来组织导入功能时 eclipse 包含的内容。

我查看了 eclipse 为我附加的 android.jar。包含在名为 Android 2.2 -> android.jar 的文件夹中

我搜索了 android.graphics 并查看了 Camera.class 的内容

事实证明,我的 Camera 类只有这些方法:

Camera()
applyToCanvas()
dotWithNormal()
finalize()
getMatrix()
restore()
rotateX()
rotateY()
rotateZ()
save()
translate()

我故意让参数出来,因为它们并不重要。

要解决实际问题:为什么?

为什么没有 open() 方法,没有 release() 方法?以及我缺少的其他任何东西..'

谢谢阅读。

今天的教训:不要做一个聪明的**。我确实 950% 确定我包含了那个特定的包。但这是错误的包裹。德普。谢谢你通知我。问题解决了。

4

3 回答 3

3

您使用了错误的相机。

android.graphics.Camera - 相机实例可用于计算 3D 变换并生成可应用于例如画布上的矩阵。

android.hardware.Camera - Camera 类用于设置图像捕获设置、开始/停止预览、抓拍图片和检索帧以进行视频编码。此类是 Camera 服务的客户端,它管理实际的相机硬件。

于 2011-09-23T10:14:26.820 回答
0

您使用了错误的相机类。使用这个http://developer.android.com/reference/android/hardware/Camera.html

您正在使用来自android.graphics.Camera的相机,我想您需要来自 android.hardware.Camera 的相机

于 2011-09-23T10:13:13.133 回答
0

(是的,我 950% 确定我已经包含了这个包:android.graphics.Camera;)

您正在寻找android.hardware.Camera.

于 2011-09-23T10:14:56.953 回答