2017-08-06 131 views
1

我制作了一个Android应用程序,可以逐张拍摄照片,存储它们,预览给用户等等......所有这些任务都是通过意图完成的类型ACTION_IMAGE_CAPTURE
因此,每当用户想要拍照时,他应该点击启动意图的“拍照按钮”,并且在等待几秒钟启动照相机之后,用户能够拍照;之后,用户拍摄并接受照片,摄像机关闭,并通过onActivityResult方法将拍摄的照片返回(作为预览的位图)给呼叫级别。
现在,如果你想做多张照片,这个过程可能会很乏味。Android:如何使用相同的相机意图拍摄多张照片

所以,我想提供我的应用程序的一种模式,允许用户采取超过一张照片,没有上面提到的所有缓慢的东西。
为了澄清,我不想制作连拍模式(在预定的时间间隔后自动拍摄照片),但我想让用户能够点击快门以尽可能多的时间照相,而不会中断由其他事情。

搜索在网络上,我发现了一些信息,并在我看来,有三种可能的方式追求:
- 做的意图,“INTENT_ACTION_STILL_IMAGE_CAMERA”:这个人是很容易实现,但相机界面将在很大程度上取决于意图制作时调用的应用程序(例如,在我的One Plus Three上,被称为完成此任务的应用程序是“Camera FV-5 Lite”,在模拟设备上是另一个)。 。因此,我认为无法控制接口或被调用的应用程序的行为(例如,通过意图调用的应用程序可能切换到视频模式,但这不应该是可能的我正在设计的应用程序);
- 使用软件包“Camera2”https://developer.android.com/reference/android/hardware/camera2/package-summary.html):谷歌在这里提供了这个软件包的一些例子https://github.com/search?utf8=%E2%9C%93&q=android-Camera2&type=但我不完全理解如何难以采取这条路线;
- 自己拍一张照片的代码:我认为这是最困难的方法。

初学者 - 中级开发者有可能按照上述方法之一(或另一种方法)完成这项任务吗?

类似的问题:
- Taking Multiple Photos from Android device:这里是问如何加快这一进程,并降低一个照片和另一个之间的时间差;
- Making a gallery with automatically generated ImageView s:这个问题是关于通过不同的意图将照片动态更新为ACTION_IMAGE_CAPTURE;
- How to take multiple photos before dismissing camera intent?:这个讨论解决方案的意图是INTENT_ACTION_STILL_IMAGE_CAMERA加上ContentObserver,我不想像上面提到的那样追求;
- Issues when capturing Multiple Photos: app stops responding, camera preview turns to green and no picture is saved:在捕获多张照片时讨论问题的旧帖子,但一个答案很有趣,因为Camera2被提及。

回答

3

做出的意图,“INTENT_ACTION_STILL_IMAGE_CAMERA”

这是不是真的类似于你的任何其他选项。例如,您不知道是否拍摄了照片,存储的位置等。

因此,我认为这是不可能的控制界面或名为app

正确的行为。这与ACTION_IMAGE_CAPTURE相同。

使用包“Camera2”

这是一样的“使图片自己取码”,除非你确定一个特定的Android API它。

初学者 - 中级开发者有可能按照上述方法之一(或另一种方法)来完成这项任务吗?

使用第三方相机库(Fotoapparat,CameraKit-Android等)。

+0

谢谢,我不知道用于相机管理的图书馆在哪里可用。我应该更经常地考虑搜索和使用它们。 我将在接下来的几周内尝试在我的应用中实现这些库中的一个。 –

+1

我用Fotoapparat,它工作得很好。再次感谢 :) –

相关问题