无预览地从相机中拍摄照片

无预览地从相机中拍摄照片

我正在编写一个Android1.5应用程序,它是在启动后启动的。这是一个Service并且应该在没有预览的情况下拍照。这个应用程序将记录一些地区的光密度。我能拍到一张照片,但照片是黑色的。

在研究了很长一段时间之后,我偶然发现了一条关于它的bug帖子。如果您不生成预览,图像将是黑色的,因为Android相机需要预览来设置曝光和焦点。我创造了一个SurfaceView和听众,但是onSurfaceCreated()事件永远不会被解雇。

我想原因是,表面不是视觉上创造出来的。我还看到了一些静态调用照相机的例子MediaStore.CAPTURE_OR_SOMETHING它使用两行代码将图片保存在所需的文件夹中,但它也不拍照。

我需要使用IPC和bindService()打电话给这个函数?或者是否有其他方法来实现这一点?


温温酱
浏览 803回答 3
3回答

心有法竹

Android平台上的摄像头在给出有效的预览面之前无法播放视频,这真是太奇怪了。该平台的架构师似乎根本没有考虑第三方视频流应用程序。即使在增强现实的情况下,图像也可以被呈现为某种视觉替代,而不是实时摄像机流。不管怎样,你可以简单地将预览面调整为1x1像素并将其放在小部件的某个角落(可视元素)。请注意-调整预览面的大小,而不是相机框的大小。当然,这种技巧并不能消除不必要的数据流(用于预览),因为它消耗了一些系统资源和电池。

HUWWW

我在Android摄像头文档.注:可以使用MediaRecorder不首先创建摄像机预览,然后跳过此过程的前几步。但是,由于用户通常更喜欢在开始录制之前看到预览,因此此处不讨论该过程。您可以在上面的链接中找到一步的说明。在指示之后,它将说明我上面所提供的报价。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android