Com*_*are 41 android android-camera
我正在开发一个库,使Camera开发人员更容易使用API.
Droid Incredible 2在纵向模式下使用后置摄像头无法拍照.具体来说,我在LogCat中得到了这个序列:
08-18 09:25:52.094: E/QualcommCameraHardware(1368): native_get_picture: MSM_CAM_IOCTL_GET_PICTURE fd 25 error Connection timed out
08-18 09:25:52.094: E/QualcommCameraHardware(1368): getPicture failed!
08-18 09:25:52.094: E/QualcommCameraHardware(1368): get picture failed, giving jpeg callback with NULL data
Run Code Online (Sandbox Code Playgroud)
这些消息出现约5秒钟后,我打电话takePicture()的Camera,这与一些旧的源代码,我看到适合QualcommCameraHardware,设置了一个5000毫秒超时的ioctl()通话发言的摄像头硬件.
最终结果是onPictureTaken()传递了一个null byte[]JPEG数据,这意味着我们没有照片.
该设备可在所有其他测试配置中使用我的代码,包括使用前置摄像头以纵向模式工作.
有没有人知道可能导致这种特殊失败的特定事物?
UPDATE
我无法再重现错误.我会删除这个问题,但一旦有答案,这显然是不可能的.
最有可能的cameraService是媒体进程的一部分在后台崩溃了。如果您只是尝试在 Android 中运行默认相机应用程序并且它没有显示,那么只需重新启动设备即可消除此错误。
我认为您正在对 raw 和 jpeg 回调重用图片回调。因此,如果将其作为原始回调调用,则数据可能为空。因为文件说,
触发异步图像捕获。随着图像捕获的进行,相机服务将向应用程序发起一系列回调。拍摄图像后发生快门回调。这可用于触发声音,让用户知道图像已被捕获。当原始图像数据可用时,原始回调发生(注意:如果没有可用的原始图像回调缓冲区或原始图像回调缓冲区不足以容纳原始图像,则数据将为空)。当缩放后的、完全处理的后视图图像可用时,后视图回调发生(注意:并非所有硬件都支持此功能)。当压缩图像可用时,jpeg 回调发生。如果应用程序不需要特定的回调,则可以传递 null 而不是回调方法。
| 归档时间: |
|
| 查看次数: |
811 次 |
| 最近记录: |