我必须是第一个面对这个问题的人,因为我找不到任何关于这个问题的线索。
今天,我想从我的应用程序需求的相机方面开始。我读了一些文档
我的清单如下所示:
<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%的把握我包含了那个特定的包。但这是一个错误的包裹。德尔普。谢谢你通知我。问题解决了。
发布于 2011-09-23 18:14:27
你用错了相机。
android.graphics.Camera - camera实例可用于计算3D变换并生成可应用于例如画布的矩阵。
android.hardware.Camera - Camera类用于设置图像捕获设置、开始/停止预览、捕捉图片以及检索用于视频编码的帧。这个类是相机服务的客户端,它管理实际的相机硬件。
发布于 2011-09-23 18:13:13
您正在使用错误的Camera类。使用这个http://developer.android.com/reference/android/hardware/Camera.html
您使用的是android.graphics.Camera的相机,我想您需要android.hardware.Camera的相机
发布于 2011-09-23 18:14:57
(是的,我950%确定我已经包含了这个包: android.graphics.Camera;)
您正在寻找android.hardware.Camera。
https://stackoverflow.com/questions/7527311
复制相似问题